Skip to content

Resolve "As a developer, I need this project to run in Phaser 3.50"

For #2 (closed)

These change should address the following:

  • Update node packages, including Phaser to 3.55.2
  • Workaround for "unwanted delay" in animation, where animations are no longer immediately interrupted by another animation that plays, unless you say Sprite.anims.stop().playAfterDelay("animation-key", 0). Also, the first sprite in the atlas is shown for a sprite whose animation is being delayed, instead of the sprite set with Sprite.setFrame. Interestingly, both the "unwanted delay" and initially set sprite not loading issue can be resolved by following the instruction to play the idle animation with this.aniams.nextTick += delayTime. More details can be found at this issue I created for Phaser.
  • Somehow, the check in app/src/Sprites/Entities/LivingEntities/Characters/Player.ts to see if the Player.scene has properties before proceeding was resulting in an error because Player.scene was null after the level restarts upon losing all health. The original checks were dealing with this without issue previously, but now we have to make even more sure that the scene is not null before trying to get data from it.

I am noticing that the Critter animation delay before the Idle animation appears to be working as expected. When I first noticed the delay problem, the Critters were also effected. But as I examine the project now, I am not seeing an issue with their animation delays, so I will not make the playIdleAnimation change for the Critters. However, LivingEntity now has a idleDelay instance property.

Edited by Spencer Williams

Merge request reports