Input & Fisica
Input Tastiera
Il modo più semplice per gestire i movimenti è usare i CursorKeys (frecce direzionali).
```typescript // In create() this.cursors = this.input.keyboard.createCursorKeys();
// In update() if (this.cursors.left.isDown) { this.player.setVelocityX(-160); } else if (this.cursors.right.isDown) { this.player.setVelocityX(160); } else { this.player.setVelocityX(0); }
if (this.cursors.up.isDown && this.player.body.touching.down) { this.player.setVelocityY(-330); } ```
Mouse / Touch
Phaser gestisce automaticamente mouse e touch in modo unificato.
```typescript this.input.on(‘pointerdown’, (pointer) => { // pointer.x e pointer.y sono le coordinate nel mondo this.shoot(pointer.x, pointer.y); }); ```
Arcade Physics
Assicurati di aver abilitato la fisica nella config del gioco e che i tuoi sprite siano creati come Physics Sprintes.
```typescript // Invece di this.add.sprite // Usa this.physics.add.sprite o .image this.player = this.physics.add.sprite(100, 450, ‘dude’);
this.player.setBounce(0.2); // Rimbalzo this.player.setCollideWorldBounds(true); // Non esce dallo schermo ```
Collisioni
Per far interagire gli oggetti, devi definire Collider o Overlap.
```typescript // Piattaforme statiche (non si muovono) this.platforms = this.physics.add.staticGroup(); this.platforms.create(400, 568, ‘ground’);
// Collisione fisica (il player sbatte contro le piattaforme) this.physics.add.collider(this.player, this.platforms);
// Sovrapposizione (es. raccogliere monete) this.physics.add.overlap(this.player, this.stars, this.collectStar, null, this); ```