2011-02-02 90 views
0

我有一个类,我创建我的导航栏。 然后我在舞台上创建了一个动画片段,而不是AS。 在这个movieclip是在每一帧不同的内容。如何从外部类获取变量

现在我想从导航类传递一个数字给我的舞台上的动画片段。 所以我可以从动作层调用“movieclip.gotoAndStop(number)”。 但我不知道最简单的解决方案是什么。

我有这个问题,因为我从一个菜单切换到另一个。 新菜单与外部类相关联。 所以我已经在我的舞台上有很多代码,我不想改变它。

迎接最大

+0

您可以在舞台上为您的影片剪辑使用帧标签。这样,如果时间线更改,则不必一次又一次更改gotoAndStop(数字)位。您还可以使用currentLabels属性检索该影片剪辑的所有标签名称/帧(http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/flash/display/MovieClip.html#currentLabels) – 2011-02-02 15:41:29

+0

你能显示你的代码吗? – Taurayi 2011-02-02 21:24:57

回答

1

您可以使用事件(你可以看到他们here,在adobe.com livedocs,和最后可能是更好的地方开始)。首先,你需要将事件侦听器添加到您的动画片段:

movieclip.addEventListener(YourEvent, eventHandler); 

,比导航栏调度事件:

dispatchEvent(YourEvent); 

该系统是很容易的,你在一个地方分派事件,听它在其他。复杂化可能出现在监听事件中,因为您只能向上或向下分派它们,所以当您想要将某个MoviClip的子项的事件分派给其他MovieClip的子项时,您可能需要分派一个泡泡事件到你的根对象,然后重新发送给所有的孩子。但这取决于你的架构,你应该如何构建事件列表器和事件调度器的系统。

另外,我通常为每种类型的特定事件创建MyEvent类,因此我可以在事件中发送不同的变量,并且它有助于在将来读取代码。