通过使用,event types您可以通过过滤1函数中的事件而不是定义许多事件处理函数,来轻松地减少在舞台上为多个对象定义事件时经常发生的代码膨胀。
想象一下,我们在舞台上有10个名为的对象object1,object2...object10
您可以执行以下操作:
var i: int = 1; while(getChildByName("object"+i) != null){ var obj = getChildByName("object"+i) obj.addEventListener(MouseEvent.CLICK, ObjectMouseEventHandler); obj.addEventListener(MouseEvent.MOUSE_OVER, ObjectMouseEventHandler); obj.addEventListener(MouseEvent.MOUSE_OUT, ObjectMouseEventHandler); obj.alpha= 0.75; i++; } function ObjectMouseEventHandler(evt:Event) { if(evt.type == "click") { trace(evt.currentTarget + " has been clicked"); } else { evt.currentTarget.alpha =evt.type== "mouseOver" ? 1 : 0.75; } }
这种方法的好处包括:
无需指定要应用事件的对象数量。
不需要专门知道与哪个对象进行了交互,但仍然可以应用功能。
轻松批量应用事件。