动作脚本3.如何播放一次动画?

时间:2013-09-19 22:50:34

标签: actionscript-3 flash loops animation actionscript

我正在创建Flash游戏,我有角色动作的动画。如何正确设置动画播放只有一次动作后?例如:如果我单击“空格”按钮 - 角色跳跃和“跳跃”动画开始永远播放,如果角色停留在地面上跳跃动画继续播放。当角色留在地上时如何阻止它?或者,如果我使用攻击动画,它也会永远循环。 在正常状态下,字符应使用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
            {

            }
        }
    }

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

您需要在该动画的最后一帧停留。你会在那个动画的时间轴上停下来。

编辑回答评论:

你可以使用这样的一行在完成时切换到“停留”动画。

parent.gotoAndStop("staying");

在这种情况下,您不需要停止播放,因为播放头会在停留动画时移动该动画。

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

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