我正在创建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
{
}
}
}
答案 0 :(得分:1)
你需要停止();在MovieClip的最后一帧上,一旦播放头到达那里,MovieClip就会停止播放。
答案 1 :(得分:0)
鉴于帧上有一个MovieClip,你需要告诉包含跳跃动画的MovieClip停止。
您需要在该动画的最后一帧停留。你会在那个动画的时间轴上停下来。
编辑回答评论:
你可以使用这样的一行在完成时切换到“停留”动画。
parent.gotoAndStop("staying");
在这种情况下,您不需要停止播放,因为播放头会在停留动画时移动该动画。
我认为这篇特别的帖子:flash event listener for movieclip end?
给出了一个特别好的扩展MovieClip的例子,给它一个非常受欢迎的ANIMATION_COMPLETE
事件。因此,如果您希望通过代码专门处理事情,那将是一个很好的选择方向。