0

我创建了一个动画(右键单击时间轴并创建动画)并给它一个对象名称。如果我调用 tank.stop(),动画将成功停止。但是,如果我调用 tank.body.stop(),它将不起作用。

有 2 个对象名称——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?


}
4

1 回答 1

1

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

无法控制它们(启动/停止)。

您需要使用电影剪辑树的经典方案。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();

如果您有一些动画并想将它们转换为影片剪辑:

  1. 用鼠标选择你的 amination 帧。您可以同时选择多个图层中的帧,使用 SHIFT 键等
  2. 在上下文菜单中选择剪切帧
  3. 在库中创建新的影片剪辑
  4. 选择第一帧,在上下文菜单中选择粘贴帧
  5. 返回主影片剪辑,如果需要创建图层
  6. 将影片剪辑从库(步骤 3)拖到帧中,放置在适当的位置

也许有更快的方法,但我不知道它们......

于 2013-03-01T10:13:09.997 回答