Provided WASD movement

This commit is contained in:
2026-01-28 19:07:22 +11:00
parent 80e82f68a0
commit c06823e08b

View File

@@ -20,11 +20,18 @@ export interface GameInputEvents {
export class GameInput extends Phaser.Events.EventEmitter {
private scene: Phaser.Scene;
private cursors: Phaser.Types.Input.Keyboard.CursorKeys;
private wasd: {
W: Phaser.Input.Keyboard.Key;
A: Phaser.Input.Keyboard.Key;
S: Phaser.Input.Keyboard.Key;
D: Phaser.Input.Keyboard.Key;
};
constructor(scene: Phaser.Scene) {
super();
this.scene = scene;
this.cursors = this.scene.input.keyboard!.createCursorKeys();
this.wasd = this.scene.input.keyboard!.addKeys("W,A,S,D") as any;
this.setupKeyboard();
this.setupMouse();
@@ -96,10 +103,10 @@ export class GameInput extends Phaser.Events.EventEmitter {
let dx = 0;
let dy = 0;
const left = this.cursors.left?.isDown;
const right = this.cursors.right?.isDown;
const up = this.cursors.up?.isDown;
const down = this.cursors.down?.isDown;
const left = this.cursors.left?.isDown || this.wasd.A.isDown;
const right = this.cursors.right?.isDown || this.wasd.D.isDown;
const up = this.cursors.up?.isDown || this.wasd.W.isDown;
const down = this.cursors.down?.isDown || this.wasd.S.isDown;
if (left) dx -= 1;
if (right) dx += 1;
@@ -109,7 +116,11 @@ export class GameInput extends Phaser.Events.EventEmitter {
const anyJustDown = Phaser.Input.Keyboard.JustDown(this.cursors.left!) ||
Phaser.Input.Keyboard.JustDown(this.cursors.right!) ||
Phaser.Input.Keyboard.JustDown(this.cursors.up!) ||
Phaser.Input.Keyboard.JustDown(this.cursors.down!);
Phaser.Input.Keyboard.JustDown(this.cursors.down!) ||
Phaser.Input.Keyboard.JustDown(this.wasd.W) ||
Phaser.Input.Keyboard.JustDown(this.wasd.A) ||
Phaser.Input.Keyboard.JustDown(this.wasd.S) ||
Phaser.Input.Keyboard.JustDown(this.wasd.D);
return {
dx, dy, anyJustDown,