2016-03-14 69 views
0

我已经为我创建的动画获得FLA文档,并且想知道当动画具有多个场景/时间线时如何使用外部AS文件。如何设置和使用Flash AS3文件

是否我只是把我引用的每个函数放在AS文件中,然后在我需要时从动画时间线内调用函数?有一个更好的方法吗?

感谢

+0

需要更多信息。你的输出是什么? jquery-animate在哪里适合这个问题?你的档案中的功能的性质是什么?很可能,您只是想在多个时间线上重新使用代码?这只涉及让你的影片剪辑(时间轴)对象使用你的.as文件作为他们的基类。然后该类的所有变量和方法(.as文件)将在这些时间线中可用。 – BadFeelingAboutThis

+0

你好,对不起,我意外地标记了错误的'动画'。 是的,我想重复使用多个时间线上的代码。有没有这方面的文件?我尝试了官方文档,但是我只能找到关于如何设置它的参考,而不是如何使它们在多个时间轴上工作,遍历它们以及类似的东西。 – Phill

回答

1

是的,您可以将使用为ActionScript导出相同.as3文件到多个影片剪辑,然后使用

parent.yourfunctionName(); 

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

公共功能在DoSomething的():无效{ 跟踪( “功能从时间表称为”) }

,如果你需要移动进一步上涨,做parent.parent.parent等,或root.instanceName。实例名

或者(和好),你可以把你所有的公共职能,使用文档类文件 - - >设置 - >脚本 - >文档类,然后使用类似parent.parent达到你的功能,也可以让文档类传递到自身的引用到需要通信的所有影片剪辑:

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

在时间轴上放置脚本,因为As 2的完成次数减少,但它仍然是在时间轴的某一点发生某种事情的最简单方法,它仍然有效。如果你想要做到这一点,你可以在movieClip代码的enterFrame处理程序中侦听某些帧或标签。

+0

使用“parent.parent.parent”是初学者所做的,并且是实现最弱,最不稳定和最困难的代码调试的最佳方式。 – BotMaster

+0

是的,这就是为什么我说你可以做一些事情,比如“让文档类将自己的引用传递给所有需要通信的影片剪辑”。这是一种更专业的方式,但对于初学者或项目来说可能过于矫枉过正,听起来它更像动画而不是编程。 –