From dd0744387ffbf30c5475d9ccbebb7105423a56dd Mon Sep 17 00:00:00 2001 From: kharhamel Date: Thu, 30 Apr 2020 19:36:28 +0200 Subject: [PATCH] reenabled diagonal movement --- front/src/Enum/EnvironmentVariable.ts | 2 +- front/src/Phaser/Entity/PlayableCaracter.ts | 15 +++++------ front/src/Phaser/Player/Player.ts | 28 ++++++++++----------- 3 files changed, 20 insertions(+), 25 deletions(-) diff --git a/front/src/Enum/EnvironmentVariable.ts b/front/src/Enum/EnvironmentVariable.ts index 6c0226a2..f44f717b 100644 --- a/front/src/Enum/EnvironmentVariable.ts +++ b/front/src/Enum/EnvironmentVariable.ts @@ -1,4 +1,4 @@ -const DEBUG_MODE: boolean = !!process.env.DEBUG_MODE || false; +const DEBUG_MODE: boolean = process.env.DEBUG_MODE as any === true; const API_URL = process.env.API_URL || "http://api.workadventure.localhost"; const ROOM = [process.env.ROOM || "THECODINGMACHINE"]; const RESOLUTION = 4; diff --git a/front/src/Phaser/Entity/PlayableCaracter.ts b/front/src/Phaser/Entity/PlayableCaracter.ts index b84d2dd8..987d6bd3 100644 --- a/front/src/Phaser/Entity/PlayableCaracter.ts +++ b/front/src/Phaser/Entity/PlayableCaracter.ts @@ -22,18 +22,15 @@ export class PlayableCaracter extends Phaser.Physics.Arcade.Sprite { this.setVelocity(x, y); - //todo improve animations to better account for diagonal movement - if (this.body.velocity.x > 0) { //moving right - this.play(PlayerAnimationNames.WalkRight, true); - } - if (this.body.velocity.x < 0) { //moving left - this.anims.playReverse(PlayerAnimationNames.WalkLeft, true); - } + //up or down animationss are prioritized over left and right if (this.body.velocity.y < 0) { //moving up this.play(PlayerAnimationNames.WalkUp, true); - } - if (this.body.velocity.y > 0) { //moving down + } else if (this.body.velocity.y > 0) { //moving down this.play(PlayerAnimationNames.WalkDown, true); + } else if (this.body.velocity.x > 0) { //moving right + this.play(PlayerAnimationNames.WalkRight, true); + } else if (this.body.velocity.x < 0) { //moving left + this.anims.playReverse(PlayerAnimationNames.WalkLeft, true); } if(this.bubble) { diff --git a/front/src/Phaser/Player/Player.ts b/front/src/Phaser/Player/Player.ts index a7798720..60326a27 100644 --- a/front/src/Phaser/Player/Player.ts +++ b/front/src/Phaser/Player/Player.ts @@ -66,27 +66,25 @@ export class Player extends PlayableCaracter implements CurrentGamerInterface, G let speedMultiplier = activeEvents.get(UserInputEvent.SpeedUp) ? 25 : 9; let moveAmount = speedMultiplier * delta; + let x = 0; + let y = 0; if (activeEvents.get(UserInputEvent.MoveUp)) { - this.move(0, -moveAmount); - haveMove = true; + y = - moveAmount; direction = PlayerAnimationNames.WalkUp; - } - if (activeEvents.get(UserInputEvent.MoveLeft)) { - this.move(-moveAmount, 0); - haveMove = true; - direction = PlayerAnimationNames.WalkLeft; - } - if (activeEvents.get(UserInputEvent.MoveDown)) { - this.move(0, moveAmount); - haveMove = true; + } else if (activeEvents.get(UserInputEvent.MoveDown)) { + y = moveAmount; direction = PlayerAnimationNames.WalkDown; } - if (activeEvents.get(UserInputEvent.MoveRight)) { - this.move(moveAmount, 0); - haveMove = true; + if (activeEvents.get(UserInputEvent.MoveLeft)) { + x = -moveAmount; + direction = PlayerAnimationNames.WalkLeft; + } else if (activeEvents.get(UserInputEvent.MoveRight)) { + x = moveAmount; direction = PlayerAnimationNames.WalkRight; } - if (!haveMove) { + if (x !== 0 || y !== 0) { + this.move(x, y); + } else { direction = PlayerAnimationNames.None; this.stop(); }