0

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

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

4

1 回答 1

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;
}
于 2012-04-10T13:44:54.163 回答