diff --git a/front/src/GameScene.ts b/front/src/GameScene.ts index ac38b222..fb510627 100644 --- a/front/src/GameScene.ts +++ b/front/src/GameScene.ts @@ -8,6 +8,7 @@ export class GameScene extends Phaser.Scene { private keyLeft: Phaser.Input.Keyboard.Key; private keyUp: Phaser.Input.Keyboard.Key; private keyDown: Phaser.Input.Keyboard.Key; + private keyShift: Phaser.Input.Keyboard.Key; constructor() { super({ @@ -21,6 +22,8 @@ export class GameScene extends Phaser.Scene { } init(): void { + this.keyShift = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.SHIFT); + this.keyZ = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.Z); this.keyQ = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.Q); this.keyS = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.S); @@ -32,9 +35,9 @@ export class GameScene extends Phaser.Scene { this.keyRight = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.RIGHT); } - private moveCamera(x:number, y:number): void { - this.cameras.main.scrollX += 2 * x; - this.cameras.main.scrollY += 2 * y; + private moveCamera(x:number, y:number, speedMultiplier: number): void { + this.cameras.main.scrollX += speedMultiplier * 2 * x; + this.cameras.main.scrollY += speedMultiplier * 2 * y; } create(): void { @@ -49,18 +52,20 @@ export class GameScene extends Phaser.Scene { private angle: number = 0; update(dt: number): void { + let speedMultiplier = this.keyShift.isDown ? 5 : 1; + if (this.keyZ.isDown || this.keyUp.isDown) { - this.moveCamera(0, -1); + this.moveCamera(0, -1, speedMultiplier); } if (this.keyQ.isDown || this.keyLeft.isDown) { - this.moveCamera(-1, 0); + this.moveCamera(-1, 0, speedMultiplier); } if (this.keyS.isDown || this.keyDown.isDown) { - this.moveCamera(0, 1); + this.moveCamera(0, 1, speedMultiplier); } if (this.keyD.isDown || this.keyRight.isDown) { - this.moveCamera(1, 0); + this.moveCamera(1, 0, speedMultiplier); } /*this.cameras.main.scrollX = Math.floor(300 + 300 * Math.cos(this.angle));