Arrow and vim keys support #43
| @@ -111,6 +111,14 @@ class Input { | ||||
|     return this.#mousePosition; | ||||
|   } | ||||
|  | ||||
|   isAnyKeyDown(...keys: string[]) : boolean { | ||||
|     for (const k of keys) { | ||||
|       if(this.isKeyDown(k)) { | ||||
|         return true | ||||
|       } | ||||
|     } | ||||
|     return false | ||||
|   } | ||||
|   isKeyDown(key: string): boolean { | ||||
|     return this.#keyDown[key]; | ||||
|   } | ||||
|   | ||||
| @@ -155,19 +155,19 @@ export class HuntMode { | ||||
|  | ||||
|     let mvdx = 0; | ||||
|     let mvdy = 0; | ||||
|     if (I.isKeyDown("w")) { | ||||
|     if (I.isAnyKeyDown("w", "k", "ArrowUp")) { | ||||
|       touched = true; | ||||
|       mvdy -= amt; | ||||
|     } | ||||
|     if (I.isKeyDown("s")) { | ||||
|     if (I.isAnyKeyDown("s", "j", "ArrowDown")) { | ||||
|       touched = true; | ||||
|       mvdy += amt; | ||||
|     } | ||||
|     if (I.isKeyDown("a")) { | ||||
|     if (I.isAnyKeyDown("a", "h", "ArrowLeft")) { | ||||
|       touched = true; | ||||
|       mvdx -= amt; | ||||
|     } | ||||
|     if (I.isKeyDown("d")) { | ||||
|     if (I.isAnyKeyDown("d", "l", "ArrowRight")) { | ||||
|       touched = true; | ||||
|       mvdx += amt; | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user