Lo que quiero hacer es reproducir una animación en ejecución en un sprite, cada vez que se presiona una tecla
Mi código (extracto) se ve así:
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"); } } El problema: cuando presiono s , solo se reproduce el primer cuadro de la animación y la animación solo terminará cuando deje de presionarlo.
Creo que esto se debe a que la animación se sobrescribe cada vez que presiono s .
Entonces, ¿cómo puedo ejecutar la animación solo si la anterior aún no se está reproduciendo?
Gracias por adelantado
Encontré la solución usando avatar.anims.isPlaying
Así que lo que hice es:
if (!avatar.anims.isPlaying) avatar.anims.play("lazy");