如何停止特定动画片段的动画

时间:2013-03-01 09:54:07

标签: flash actionscript

我创建了一个动画(右键单击时间轴并创建动画)并为其指定了一个对象名称。如果我调用tank.stop(),动画将成功停止。但是,如果我调用tank.body.stop(),它将无法正常工作。

有两个对象名称 - movieClip对象名称和动画本身的名称。我不知道如何停止动画特定部分,而不是所有部分。如果我写tank.animObjectName.stop(),我会收到错误。

// If I stop animating the main movieclip then all the child will stop 
// animating also
main movieclip ->
{ 

  head //how to stop animating head?

  body //how to stop animating body?

  legs //how to stop animating legs?


}

1 个答案:

答案 0 :(得分:1)

从上下文菜单创建的动画是AnimatorFactory类的实例。 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/fl/motion/AnimatorFactory.html

无法控制它们(开始/停止)。

您需要使用movieclip树的经典方案。 Root - 包含所有内容的主要动画片段。每个动画部分都是一个动画片段,动画片段位于根片段内。例如:

tank (no animation, only child movieclips, 1 frame at all)
--body (movieclip with animation of body inside)
--weapon (movieclip with animation of gun inside)
--banner (movieclip with animation of banner inside)

要停止身体,请写下tank.body.stop();身体将暂停,但武器和横幅将播放。如果要停止所有部件,请为所有部件编写命令:

tank.body.stop();
tank.weapon.stop();
tank.banner.stop();

如果你有一些动画并希望将它们转换为movieclip:

  1. 用鼠标选择胺化的帧。您可以同时选择多个图层中的帧,使用SHIFT键等
  2. 在上下文菜单中选择剪切帧
  3. 在库中创建新的动画片段
  4. 选择第一帧,在上下文菜单中选择粘贴帧
  5. 返回主动画片段,如果需要则创建图层
  6. 将动画片段从库(步骤3)拖动到帧中,放置在适当的位置
  7. 也许有更快的方法,但我不知道它们......