如何将不同的类应用于Flash CS5中的不同帧?

时间:2011-01-24 00:25:59

标签: actionscript-3 flash-cs5

我在动作脚本3中编码,需要一些关于类的帮助。我希望第一帧有自己的类/包,我希望其他帧共享另一个类/包。我该怎么做?

2 个答案:

答案 0 :(得分:2)

别。在项目中组织ActionScript代码既不干净也不值得推荐。按照预期的方式使用类和包:用于面向对象的编程。实际上,只有在您有轻微的任务要做时,才应该使用框架操作,尤其是控制时间轴(stop();等),或者在某个时间点创建或删除对象。

如果你想让你的帧产生新的行为,那么在舞台上创建和/或删除类实例 - 它们可以是透明的或填满整个舞台,因此用户不会注意到它们,但是你的程序会有正确的封装。您可以将一个类附加到库中的每个MovieClip,这样您就可以在时间轴的每个帧中放置一个,如果需要,甚至可以编辑该MovieClip的时间轴。

无论您决定哪种,都应该在ActionScript here中阅读面向对象的编程。

答案 1 :(得分:1)

时间轴在一天结束时是MovieClip的子类。每个帧都是该MovieClip的帧,因此您无法将类与每个帧相关联。您可以使用单个类并使用“未记录的”addFrameScript将方法与每个帧相关联。更好的是,我可能只是为每个帧添加一个新的MovieClip,它有自己独特的子类。所以frame1的BaseClass是Frame1MovieClip.as,frame2的BaseClass是Frame2MovieClip.as。如果您希望帧共享一个类,只需将该帧扩展到您想要的帧数。

           1  2  3  4  5
 layer2   [o]
 layer1      [o         ]

因此“layer2”将包含一个MovieClip,其中Frame1MovieClip.as作为BaseClass,而第1层将具有不同的BaseClass。