0

我正在创建 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
            {

            }
        }
    }
4

2 回答 2

2

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

于 2013-09-19T23:06:15.327 回答
0

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

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

编辑回答评论:

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

parent.gotoAndStop("staying");

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

我认为这个特别的帖子:movieclip end 的 flash 事件侦听器?

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

于 2013-09-19T23:02:59.747 回答