我是动作脚本3的新手,我正在学习如何在外部动作脚本文件中编码。我在时间轴中处理多个帧时遇到了问题;我似乎无法理解如何通过代码访问分散在几个帧中的对象。
假设我的fla文件中有2个帧。第一帧包含Movieclip“Box”,第二帧包含Movieclip“Box2”。当我输入代码时:trace(Box)
我将重新输出输出[object Movieclip]。当我输入代码时:trace(Box2)
我将重新输出ouput [null]。
如何将代码扩展到fla文件的第一帧之外?
答案 0 :(得分:0)
您需要实际将播放头向前移动到对象所在的帧。如果Box2在第2帧,你可以:
gotoAndStop(2);
trace(Box2);
然后它会存在。实际上,播放头的作用是根据这些对象存在的帧来创建和销毁对象。例如,如果第2帧中不存在Box,则尝试跟踪其引用也将输出null
。
我还说过,将对象分散在各个帧中是一个坏主意。它使操纵它们变得困难。大多数情况下,动态创建和销毁对象(根据需要)是控制状态的更好方法。在大多数真实场景中,至少在结构良好的Flash应用程序/游戏中,除非您正在处理一些基于关键帧的动画,否则永远不会使用具有多个帧的MovieClip。