【问题标题】:Action Script 3. How to play animation once?Action Script 3. 如何播放一次动画?
【发布时间】:2013-09-25 05:13:48
【问题描述】:

我正在创建 Flash 游戏,并且我有角色动作的动画。如何正确设置动画以仅在动作后播放 1 次?例如:如果我单击“空格”按钮 - 角色跳跃并且“跳跃”动画开始永远播放,如果角色停留在地面上跳跃动画继续播放。当角色留在地上时如何阻止它?或者如果我使用攻击动画它也会永远循环。 在正常状态下字符应该使用Hero.gotoAndStop("staying");

这是我的跳转代码:

    if (Hero.y_speed > 0 && Hero.hitTestObject(ground))
    {
        Hero.y_speed = 0;
        Hero.x_speed = 0;
        if (space)
        {
            if (true)
            {
                Hero.gotoAndStop("jumping");//here starts jumping animation loop non stop
                stop(); //this not working
                Hero.y_speed = -20;
            }
            else
            {

            }
        }
    }

【问题讨论】:

  • 标有“跳跃”的框架上有什么?有没有跳跃动画的MovieClip?
  • 是的,它是跳跃动画的 MovieClip(约 40 帧)
  • stop() 在动画的最后一帧。 Hero.gotoAndStop("jumping"); 之后的当前 stop() 指的是 this 的任何内容。

标签: actionscript-3 flash loops animation actionscript


【解决方案1】:

你需要放一个 stop();在 MovieClip 的最后一帧上,这样一旦播放头到达那里,MovieClip 就会停止播放。

【讨论】:

  • 谢谢您的回答,是否可以在跳跃动画后继续“停留”动画?现在它只在跳跃动画的最后一帧停止。
  • 谢谢你。这个答案让我非常头疼。
【解决方案2】:

鉴于帧上有一个 MovieClip,您需要告诉包含跳跃动画的 MovieClip 停止。

您需要在该动画的最后一帧停止。你会在那个动画的时间线上停止。

编辑回答评论:

您可能可以使用这样的线条在完成后切换到“停留”动画。

parent.gotoAndStop("staying");

在这种情况下,您不需要停止,因为播放头会离开该动画而进入停留动画。

我认为这个特别的帖子:flash event listener for movieclip end?

给出了一个特别好的扩展 MovieClip 的例子,给它一个非常受欢迎的ANIMATION_COMPLETE 事件。因此,如果您希望仅通过代码处理事情,那将是一个不错的选择方向。

【讨论】:

  • 谢谢您的回答,是否可以在跳跃动画后继续“停留”动画?现在它只在跳跃动画的最后一帧停止。
  • 谢谢,这对我有用。但是现在我遇到了问题,我有 3 种不同的攻击动画,当我使用 1 时,例如,如果我尝试使用第二次攻击,第一个动画会取消并开始播放第二个。我需要在播放动画时让它无法取消,直到它结束。有可能制作它吗?
  • 你需要问另一个问题,这个问题已经回答了。在 cmets 中一步步做开发对社区没有用处。
猜你喜欢
  • 2013-09-23
  • 2018-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-12
  • 1970-01-01
  • 2016-06-30
  • 2013-05-22
相关资源
最近更新 更多