AS3:如何从影片剪辑内部检查和重置主时间轴上的变量

Posted

技术标签:

【中文标题】AS3:如何从影片剪辑内部检查和重置主时间轴上的变量【英文标题】:AS3: How do I check and reset variable on the main timeline from inside a movieclip 【发布时间】:2011-01-15 13:48:57 【问题描述】:

我正在将旧的 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 —— 哦,如果就这么简单的话。 我读过一些关于全局类和单例等的东西,但这对于这类事情来说似乎有点矫枉过正。

有什么建议吗??

【问题讨论】:

【参考方案1】:

直到你觉得你准备好处理类和包之前,你可以暂时这样做:

//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

上面的工作假设舞台上的电影剪辑从其访问根变量仅低于舞台的一层。如果它来自嵌套的影片剪辑,则继续添加“_parent”。到括号内的部分,直到您成功引用了舞台。

【讨论】:

以上是关于AS3:如何从影片剪辑内部检查和重置主时间轴上的变量的主要内容,如果未能解决你的问题,请参考以下文章

如何从 doc 类 AS3 定位舞台上的影片剪辑?

如何使用 as3 同时访问所有影片剪辑(以及影片剪辑中的影片剪辑......)?

获取时间轴动画影片剪辑 AS3 的 y 位置?

as3 以普通影片剪辑的形式访问子项(gotoAndPlay 等)

Flash AS3 从影片剪辑访问全局变量

AS3 删除动态创建的子影片剪辑