【发布时间】:2010-06-20 20:42:03
【问题描述】:
如果我在 Flash Pro CS5 的舞台上创建一个对象并希望在代码中引用它,我该怎么做?假设我有 2 个电影剪辑,我已将它们转换为符号并给定实例名称。我将如何引用其中一个剪辑?实例名称似乎不起作用。
【问题讨论】:
标签: flash actionscript-3
如果我在 Flash Pro CS5 的舞台上创建一个对象并希望在代码中引用它,我该怎么做?假设我有 2 个电影剪辑,我已将它们转换为符号并给定实例名称。我将如何引用其中一个剪辑?实例名称似乎不起作用。
【问题讨论】:
标签: flash actionscript-3
这取决于您编写代码的位置。如果您已将其写入 frame1 的时间轴,则可以引用 frame1 中舞台上具有唯一实例名称的任何对象。
这也适用于文档类。唯一的区别是,您应该只在知道文档类已添加到阶段时才尝试引用,因此:
addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true); //this goes in the constructor of the document class and code goes in the init function (you can all this whatever you want)
如果您想在其他外部类中引用舞台对象,那么据我所知有两种方法。首先是传递舞台对象的参数,所以从文档类传递给一个外部类,然后它可以传递给它拥有的任何外部类(假设它有一个参数)。您也可以只传递舞台对象,然后在外部类中执行stage.myInstance.anotherInstance 之类的操作。
另外,我喜欢做的是创建一个只保存公共静态变量的类。然后,我在文档类中将舞台对象分配给它们。然后在我的外部类中,我可以只导入静态类并轻松引用舞台对象。我发现这减少了混乱并允许重构。
【讨论】: