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