00
:
00
:
00
:
00
Corso SEO AI - Usa SEOEMAIL al checkout per il 30% di sconto

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); ```