日期:2013-07-06  浏览次数:20642 次

问题:
我要反复执行某段代码


处理办法:
在  enterFrame  事件中添加监听器和关联处理方法


讨论:
在   ActionScript   2.0   中处理   enterFrame   事件 是 很简 单 的 ,你只需创建时间线函数调用 onEnterFrame  然后每次新帧开始时就会自动调用。在  ActionScript  3.0  中有各种各样的事件需求 控制,访问他们也是不难的。
如果你熟悉 ActionScript 2.0 中的 EventDispatcher  类的话,你就很好理解  ActionScript 3.0  事件句柄了。 要广播   enterFrame  事件 ,你 要通知你的程序去监听这个事件然后指定回 函 数。 用addEventListener  方法可以做到:


addEventListener(type:String, listener:Function)


type  参数指出你要监听的事件类型,比如"enterFrame".  然而本人输入这些字符串容易出错,最好 的办法就是调用  Event  类的静态成员属性:导入 Event  类,调用 addEventListener  方法: addEventListener(Event.ENTER_FRAME, onEnterFrame);
第二个参数 onEnterFrame,指向类中定义的回调函数,该函数需求传递进 EVENT 的一个实例:


import flash.events.Event;
private function onEnterFrame(event:Event) {}


event  对象包含一些于该事件有关的信息。这里有个简单的例子:画出一些随机线。


package {
import flash.display.Sprite;
import flash.events.Event;


public class ExampleApplication extends Sprite {


public function ExampleApplication(    ) {
graphics.lineStyle(1, 0, 1);
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}


private function onEnterFrame(event:Event):void {
graphics.lineTo(Math.random(    ) * 400, Math.random(    ) * 400);
}
}
}