只有在 Phaser 中还没有动画的情况下,如何播放动画?
Posted
技术标签:
【中文标题】只有在 Phaser 中还没有动画的情况下,如何播放动画?【英文标题】:How to play an animation only if there isn't one yet in Phaser? 【发布时间】:2022-01-15 16:24:50 【问题描述】:我想要做的是在精灵上播放一个正在运行的动画,每次按下一个键
我的代码(摘录)如下所示:
function update()
if (keys["w"].isDown)
avatar.setVelocityY(-250);
if (keys["d"].isDown)
avatar.setVelocityX(250);
if (keys["a"].isDown)
avatar.setVelocityX(-250);
if (keys["s"].isDown)
avatar.setVelocityY(250);
avatar.play("run_front");
问题:当我点击s
时,只播放动画的第一帧,并且只有当我停止按下时动画才会结束。
我认为这是因为每次按s
都会覆盖动画。
那么,只有在之前的动画还没有播放的情况下,我如何才能运行动画呢?
提前致谢
【问题讨论】:
keys["s"] 是别名 BTW 【参考方案1】:我找到了使用avatar.anims.isPlaying
的解决方案
所以我做的是:
if (!avatar.anims.isPlaying) avatar.anims.play("lazy");
【讨论】:
以上是关于只有在 Phaser 中还没有动画的情况下,如何播放动画?的主要内容,如果未能解决你的问题,请参考以下文章
从零到一:用Phaser.js写意地开发小游戏(Chapter 2 - 搭建游戏的骨架)