event

来源:互联网 发布:马哥linux视频教程下载 编辑:程序博客网 时间:2024/04/29 05:42

在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最好的教程其实就是帮助,所以要勤看帮助,这样才能进步更快。

下节继续讲解事件侦听。

原创粉丝点击