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