在MovieClip初始化时寻找AS3事件,如AS2 onclipevent(load)

时间:2012-04-10 13:35:42

标签: actionscript-3 actionscript

在AS2中,有一个事件onclipevent(load)在舞台上初始化影片剪辑时触发。我搜索了很多但是我能在AS3中找到相同功能的唯一解决方案是为影片剪辑创建一个自定义类。这在我的情况下有点矫枉过正,因为我只有一行代码可以运行,而我正试图在我的项目中避免大量额外的AS文件。我应该注意,我的MovieClip不会动态添加,所以Event.ADDED_TO_STAGE等事件将无效。

在AS3中真的没有办法做onclipevent(加载)吗?

1 个答案:

答案 0 :(得分:0)

AS3中没有AS2样式剪辑事件。如果您想避免为剪辑创建自定义类,可以将初始化代码放在函数中,并在创建剪辑时立即调用它,如下所示:

import flash.display.MovieClip;
function onClipLoad(clip : MovieClip) : void
{
    // do onLoadStuff here
    clip.x = 100;
    clip.y = 10;
}

// call onClipLoad when the clip is created, either in code or via timeline
var myClip : MovieClip = new MyClip();
onClipLoad(myClip);

更好的是,您可以将此代码放在MovieClip时间轴的第1帧上,以自动初始化它的实例:

var initialized : Boolean;
if(!initialized) {
   initialized = true;
   // do init code here
   x = 100;
   y = 10;
}