0

我是 actionscript 3 的新手,目前正在学习如何在外部 actionscript 文件中编写代码。我在时间轴中处理多个帧时遇到了问题;我似乎无法理解如何通过代码访问分散在几个帧中的对象。

假设我的 fla 文件中有 2 个帧。第一帧包含影片剪辑“Box”,第二帧包含影片剪辑“Box2”。当我输入代码时:trace(Box)我将接收输出 [object Movieclip]。当我输入代码时:trace(Box2)我将接收输出 [null]。

如何将我的代码扩展到我的 fla 文件中的第一帧之外?

4

1 回答 1

0

您需要将播放头实际向前移动到对象所在的帧。如果 Box2 在第 2 帧上,您可以:

gotoAndStop(2);
trace(Box2);

那么它就会存在。实际上,移动播放头所做的是根据这些对象存在的帧创建和销毁对象。例如,如果 Box 在第 2 帧中不存在,则尝试跟踪其引用也会输出null.

我还要说将对象分散在框架中是一个坏主意。这使得操纵它们变得困难。大多数时候,动态(根据需要)创建和销毁对象是控制状态的更好方法。在大多数真实场景中,至少在结构良好的 Flash 应用程序/游戏中,您永远不会使用具有多个帧的 MovieClip,除非您正在处理一些基于关键帧的动画。

于 2013-10-07T14:18:04.040 回答