日期:2013-07-06 浏览次数:20664 次
问题:
我要反复执行某段代码
处理办法:
在 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);
}
}
}