Action Script 3. 如何播放一次动画?
Posted
技术标签:
【中文标题】Action Script 3. 如何播放一次动画?【英文标题】:Action Script 3. How to play animation once? 【发布时间】: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
的任何内容。
【参考方案1】:
你需要放一个 stop();在 MovieClip 的最后一帧上,这样一旦播放头到达那里,MovieClip 就会停止播放。
【讨论】:
谢谢您的回答,是否可以在跳跃动画后继续“停留”动画?现在它只在跳跃动画的最后一帧停止。 谢谢你。这个答案让我非常头疼。【参考方案2】:鉴于帧上有一个 MovieClip,您需要告诉包含跳跃动画的 MovieClip 停止。
您需要在该动画的最后一帧停止。你会在那个动画的时间线上停止。
编辑回答评论:
您可能可以使用这样的线条在完成后切换到“停留”动画。
parent.gotoAndStop("staying");
在这种情况下,您不需要停止,因为播放头会离开该动画而进入停留动画。
我认为这个特别的帖子:flash event listener for movieclip end?
给出了一个特别好的扩展 MovieClip 的例子,给它一个非常受欢迎的ANIMATION_COMPLETE
事件。因此,如果您希望仅通过代码处理事情,那将是一个不错的选择方向。
【讨论】:
谢谢您的回答,是否可以在跳跃动画后继续“停留”动画?现在它只在跳跃动画的最后一帧停止。 谢谢,这对我有用。但是现在我遇到了问题,我有 3 种不同的攻击动画,当我使用 1 时,例如,如果我尝试使用第二次攻击,第一个动画会取消并开始播放第二个。我需要在播放动画时让它无法取消,直到它结束。有可能制作它吗? 你需要问另一个问题,这个问题已经回答了。在 cmets 中一步步做开发对社区没有用处。以上是关于Action Script 3. 如何播放一次动画?的主要内容,如果未能解决你的问题,请参考以下文章
Action Script 3.0 from 2.0 Falling Randomly Places Objects 和倒数计时器
原创数据结构算法Flash动画演示课件-Action Script(AS)脚本实现
如何在不重复Unity动画的情况下通过Animator提高动画播放速度