我正在将旧的AS2文件转换为AS3(并尝试同时学习AS3)。 影片剪辑包含许多不同的动画序列,应用程序中的按钮会触发这些不同的序列。 仅当动画完成播放时,按钮才起作用。
在AS2中,我使用名为_root.animating的var实现了这一点,该变量最初设置为“false”,并在动画播放时切换为true,并在动画序列结束时切换回false。单击时按钮检查了此变量。这是一些AS2 ......
_root.animating = false; //MC code to reset var at end of each sequence:
if (animating == false)... //btn code to check var
我不喜欢将代码放入mc中,但这可靠地运行并让我超过截止日期。现在我想在AS3中重新编写文件,我认为这个策略已经回来咬我了。
尝试简单地将_root更改为root或stage - 哦,如果这很容易的话。 我读过有关全球课程和单身人士等的内容,但这似乎有点过分。
有什么建议吗?
答案 0 :(得分:0)
直到您觉得自己已经准备好使用类和包时,您可以暂时执行此操作:
//On Stage:
var animating:boolean = true;
//From inside Movieclip on stage:
trace(MovieClip(_parent).animating);
//'Movieclip' is a keyword - do not substitute with the name of the MC on stage
上面的假设是假设正在访问根变量的舞台上的movieclip只是在舞台下面的一个级别。如果它来自嵌套的Movieclip,则继续添加“_parent”。到了parantheses内部,直到你成功地引用了这个阶段。