如何设置和使用 Flash AS3 文件

Posted

技术标签:

【中文标题】如何设置和使用 Flash AS3 文件【英文标题】:How to set up and use a Flash AS3 file 【发布时间】:2016-06-30 05:18:38 【问题描述】:

我有一个我正在创建的动画的 FLA 文档,我想知道当动画有多个场景/时间线时如何使用外部 AS 文件。

我是否只是将我引用的每个函数都放在 AS 文件中,然后在需要时从动画时间轴中调用这些函数?有没有更好的方法来做到这一点?

谢谢

【问题讨论】:

需要更多信息。你的输出是什么? jquery-animate 在哪里适合这个问题? as 文件中函数的性质是什么?很可能,您只是想在多个时间线上重复使用代码?这只涉及让您的影片剪辑(时间线)对象使用您的 .as 文件作为它们的基类。然后该类的所有变量和方法(.as 文件)将在这些时间线中可用。 您好,抱歉,我不小心标记了错误的“动画”。是的,我想在多个时间线上重用代码。反正有这方面的文件吗?我尝试了官方文档,但我只能找到有关如何设置它的参考资料,而不是如何使它与多个时间线一起工作,遍历它们等等。 【参考方案1】:

是的,您可以使用 Export for actionScript 将相同的 .as3 文件附加到多个影片剪辑,然后使用

parent.yourfunctionName();

要访问各种功能,只要这些功能是公共的:

公共函数doSomething():void 跟踪(“从时间线调用函数”)

如果您需要更进一步,请执行 parent.parent.parent 等,或 root.instanceName.instanceName

或者(更好),您可以使用 file->settings->script->document class 将所有公共函数放在一个文档类中,然后使用类似 parent. parentroot 来访问您的函数,或者您可以让文档类将对自身的引用传递给所有需要通信的影片剪辑:

as3 calling a function in Main.as Document Class from another class

自 As2 以来,将脚本放置在时间轴上的频率降低了,但它仍然是在时间轴的某个时间点发生某些事情的最简单方法,而且它仍然有效。如果你想用更难的方式来做,你可以在你的 movieClip 代码的 enterFrame 处理程序中监听某些帧或标签。

【讨论】:

使用“parent.parent.parent”是初学者所做的,也是实现最弱、最不稳定和最难调试的代码的最佳方法。 是的,这就是为什么我说您可以执行类似“让文档类将对自身的引用传递给所有需要通信的影片剪辑”的原因。这是一种更专业的方式,但对于初学者或听起来更像是动画而不是编程的项目来说可能有点矫枉过正。

以上是关于如何设置和使用 Flash AS3 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Flash AIR 和 AS3 中使用触控?

flash AS3 如何删除舞台事件侦听器

Flash / AS3 ...设计人员如何修改以编程方式添加的控件?

我目前在 AS3 中专门编程。如何在 cs4 中使用新的 flash.ui:MouseCursorData?

Flash AS3 帮助检测加载的文件

如何使用 Flash (AS3) 从远程域调用 Flex SWF?