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. 如何播放一次动画?的主要内容,如果未能解决你的问题,请参考以下文章

Unity Animator只播放一次

Action Script 3.0 from 2.0 Falling Randomly Places Objects 和倒数计时器

原创数据结构算法Flash动画演示课件-Action Script(AS)脚本实现

如何在不重复Unity动画的情况下通过Animator提高动画播放速度

如何使用Cocos2D-js 3.3调用Cocos Studio 2.2导出的帧动画

如何让按钮播放乐蒂动画,同时在里面