diff --git a/front/src/Phaser/Entity/PlayableCaracter.ts b/front/src/Phaser/Entity/PlayableCaracter.ts index 339675c9..e60e0a53 100644 --- a/front/src/Phaser/Entity/PlayableCaracter.ts +++ b/front/src/Phaser/Entity/PlayableCaracter.ts @@ -77,7 +77,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 c893545a..46a67ada 100644 --- a/front/src/Phaser/Player/Player.ts +++ b/front/src/Phaser/Player/Player.ts @@ -59,7 +59,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(); @@ -84,11 +83,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}); + } + } + + if (direction !== null) { + this.previousMove = direction; } - this.emit(hasMovedEventName, {direction, x: this.x, y: this.y, frame: this.PlayerTexture}); } //todo: put this method into the NonPlayer class instead