ifFrameLoaded(103) { gotoAndPlay(7); } 用ActionScript 3.0优化
时间: 2024-03-15 18:44:08 浏览: 16
在 ActionScript 3.0 中,可以使用 `Loader` 类和 `Event.COMPLETE` 事件来优化这段代码,具体代码如下:
```actionscript
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);
function onLoaded(event:Event):void {
if (event.currentTarget.content == getChildAt(103)) {
gotoAndPlay(7);
}
}
loader.load(new URLRequest("YourMovieClip.swf"));
```
这段代码中,我们创建了一个 `Loader` 对象并加载了一个外部的 SWF 文件。我们监听了 `Event.COMPLETE` 事件,并在事件处理函数 `onLoaded` 中进行判断:如果加载完的 MovieClip 是场景中的第 103 个 MovieClip,则跳转到第 7 帧并继续播放。
这种写法相比于原来的写法,更加可靠和灵活。它可以很方便地处理多个 MovieClip 的加载,并且可以在加载完成后立即执行相应的操作。
相关问题
ifFrameLoaded(103) { gotoAndPlay(7); } 优化成flash as3的代码
在 Flash AS3 中,可以使用以下代码实现同样的功能:
```actionscript
if (getChildAt(103).contentLoaderInfo.bytesLoaded == getChildAt(103).contentLoaderInfo.bytesTotal) {
gotoAndPlay(7);
}
```
关键是使用 `contentLoaderInfo` 获取加载信息,然后比较 `bytesLoaded` 和 `bytesTotal` 来判断是否加载完成。如果是,则执行 `gotoAndPlay(7)`。
ifFrameLoaded(103) { gotoAndPlay(7); } 是什么意思
这段代码通常用于 Adobe Flash 中,用于检测指定帧中的某个 MovieClip 是否已经加载完成。具体而言,它的作用如下:
当 Flash 播放到当前场景的某一帧时,它会检查场景中是否有一个帧编号为 103 的 MovieClip 已经完成了加载。如果已经加载完成,则跳转到第 7 帧并继续播放;否则,继续等待该 MovieClip 加载完成,直到可以进行跳转为止。
需要注意的是,这段代码的实现可能会因为编程语言和开发环境不同而有所不同。例如,在 ActionScript 3.0 中,可以使用 `Loader` 类和 `Event.COMPLETE` 事件来替代这种写法。