diff --git a/front/src/Phaser/Entity/PlayableCaracter.ts b/front/src/Phaser/Entity/PlayableCaracter.ts index 02e5a08b..f905d33f 100644 --- a/front/src/Phaser/Entity/PlayableCaracter.ts +++ b/front/src/Phaser/Entity/PlayableCaracter.ts @@ -50,7 +50,7 @@ export class PlayableCaracter extends Phaser.Physics.Arcade.Sprite { stop(){ this.setVelocity(0, 0); - this.play(PlayerAnimationNames.None, true); + this.anims.stop(); } say(text: string) { diff --git a/front/src/Phaser/Player/Player.ts b/front/src/Phaser/Player/Player.ts index d13feed4..80eeb275 100644 --- a/front/src/Phaser/Player/Player.ts +++ b/front/src/Phaser/Player/Player.ts @@ -62,7 +62,6 @@ export class Player extends PlayableCaracter implements CurrentGamerInterface, G moveUser(delta: number): void { //if user client on shift, camera and player speed - let haveMove = false; let direction = null; let activeEvents = this.userInputManager.getEventListForGameTick(); @@ -87,12 +86,18 @@ export class Player extends PlayableCaracter implements CurrentGamerInterface, G } if (x !== 0 || y !== 0) { this.move(x, y); + this.emit(hasMovedEventName, {direction, x: this.x, y: this.y}); } else { - direction = PlayerAnimationNames.None; - this.stop(); + if (this.previousMove !== PlayerAnimationNames.None) { + direction = PlayerAnimationNames.None; + this.stop(); + this.emit(hasMovedEventName, {direction, x: this.x, y: this.y}); + } } - this.emit(hasMovedEventName, {direction, x: this.x, y: this.y}); + if (direction !== null) { + this.previousMove = direction; + } } //todo: put this method into the NonPlayer class instead