在as3.0中我们用的最多的可能就是"事件" ,我们会侦听各种事件. 当我们点击一个按钮时,在2.0中我们可能会用到这样的语句: _btn.onPress = function(){}; 当然后我们也可以用addEventListener来侦听一个点击事件.在3.0中我们一律用addEventListener 这种加侦听的方式来完成. _btn.addEventListener(MouseEvent.CLICK,btnClickHandler); function btnClickHandler(event:MouseEvent):void{ //点击后代码 } 这是一个单击事件,基本上我们用到的系统里的所有类都会有事件,在帮助文档中我们可以找到,我们可以很方便的使用这些事件. 我们现在把上一节中我们用到的代码稍加一下变动: package net.smilecn{ import flash.display.Sprite; import flash.display.MovieClip; import flash.utils.getDefinitionByName; import flash.events.MouseEvent; public class MainForm extends Sprite{ public function MainForm(){ for(var i=1;i<=2;i++){ var ClassReference:Class = getDefinitionByName("Mc"+i) as Class; var instance:MovieClip = new ClassReference(); instance.name = "mc" +i; instance.addEventListener(MouseEvent.CLICK,insClickHandler); addChild(instance); } } private function insClickHandler(event:MouseEvent):void{ trace("你点击了:",event.currentTarget.name); } } } event.currentTarget是指当前侦听的对像,加个name属性就是这个对像的名字,这里MouseEvent就是鼠标事件;Sprite、MovieClip、SimpleButton、Button这一些都可以加鼠标事件侦,当然不止这一些(注:SimpleButton是元件按钮,Button是组件按钮) MouseEvent.CLICK这个实际上是一个常量,代表着"click"这个字符串,从字面上我们就可以看出这个是单击的意思,通常这些事件其实都可以字面上看到意思,像MouseEvent.MOUSE_DOWN就是鼠标按下事件,值得一提的是3.0里面加上了双击事件,是MouseEvent.DOUBLE_CLICK,不过使用双击还要使doubleClickEnabled 为true才行. 我们不可能从别人那里知道一个类有多少种事件,所以帮助是最好的老师,我们学习AS3最好的教程其实就是帮助,所以要勤看帮助,这样才能进步更快. 下节继续讲解事件侦听。 |