added a way do speed up the camera movement
authorkharhamel <oognic@gmail.com>
Mon, 6 Apr 2020 14:59:14 +0000 (16:59 +0200)
committerkharhamel <oognic@gmail.com>
Mon, 6 Apr 2020 14:59:14 +0000 (16:59 +0200)
front/src/GameScene.ts

index ac38b2226d975e5ed69c71636e97851544eb51cd..fb51062736625a845481b3bb4e6d977271f2d8e1 100644 (file)
@@ -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));