【问题标题】:How to stop animation of a specific movieclip如何停止特定影片剪辑的动画
【发布时间】:2013-03-01 09:54:07
【问题描述】:

我已经创建了一个动画(右键单击时间轴并创建动画)并给它一个对象名称。如果我调用 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?


}

【问题讨论】:

  • 我测试了一个as3没问题。你是说as2?
  • 我的意思是adobe flash(cs5),点击创建动画的图层然后查看属性选项卡,在那里你会看到放置动画名称本身的字段,对象名称该动画是 AnimationFactory 类型,我不知道如何使用它来停止动画

标签: flash actionscript


【解决方案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. 用鼠标选择你的动画帧。您可以同时选择多个图层中的帧,使用 SHIFT 键等
  2. 在上下文菜单中选择剪切帧
  3. 在库中创建新的影片剪辑
  4. 选择第一帧,在上下文菜单中选择粘贴帧
  5. 返回主影片剪辑,根据需要创建图层
  6. 将影片剪辑从库(第 3 步)拖到帧中,放置在适当的位置

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

【讨论】:

  • 当您单击创建动画的时间线时,在属性选项卡中您将看到“给动画名称”,我坚持使用该名称可以停止动画,但它给了我一个错误
  • 对不起,你可以给动画实例名,它是AnimatorFactory类的实例。您无法启动或停止它们,您可以更改一些属性并为动画添加新目标...help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/fl/…
  • 请问,您能否详细解释一下用包含动画的影片剪辑替换身体动画层,
  • 所以 tank 是一个没有动画的容器,那么 children(body, Weapon, Banner) 也是有一个 INSIDE 动画 children 的容器,我理解你对吗?
  • 没错!该方法允许您创建许多坦克(通过 as3 或在 Flash 环境中手动创建),给每个坦克单独的实例名称并根据需要控制每个坦克的每个部分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-13
  • 2017-08-23
  • 2011-01-19
相关资源
最近更新 更多