Nota

Ciao, benvenuto nella community di SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts su Facebook! Approfondisci Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.

Perché unirti a noi?

  • Supporto esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra comunità e del nostro team.

  • Impara e condividi: Scambia suggerimenti e tutorial per migliorare le tue competenze.

  • Anteprime esclusive: Ottieni accesso anticipato agli annunci di nuovi prodotti e anteprime.

  • Sconti speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.

  • Promozioni e omaggi festivi: Partecipa a omaggi e promozioni durante le festività.

👉 Pronto a esplorare e creare con noi? Clicca su [qui] e unisciti oggi stesso!

2.13 GIOCO - Star-Crossed

Nei prossimi progetti, giocheremo ad alcuni mini-giochi divertenti in PictoBlox.

Qui usiamo il modulo Joystick per giocare a Star-Crossed.

Dopo l’avvio dello script, le stelle appariranno casualmente sul palco. Devi usare il Joystick per controllare la navicella spaziale Rocketship ed evitare le stelle; se le tocchi, il gioco finirà.

../_images/16_rocket.png

Componenti Necessari

In questo progetto, avremo bisogno dei seguenti componenti.

È sicuramente conveniente acquistare un kit completo, ecco il link:

Nome

ELEMENTI IN QUESTO KIT

LINK

ESP32 Starter Kit

320+

ESP32 Starter Kit

Puoi anche acquistare i componenti separatamente dai link qui sotto.

INTRODUZIONE AI COMPONENTI

LINK PER L’ACQUISTO

ESP32 Scheda

ACQUISTA

Estensione Fotocamera ESP32

ACQUISTA

Cavi Jumper

ACQUISTA

Modulo Joystick

ACQUISTA

Cosa Imparerai

  • Come funziona il modulo Joystick

  • Impostare le coordinate x e y della sprite

Costruire il Circuito

Un joystick è un dispositivo di input costituito da una leva che si muove su una base e comunica l’angolo o la direzione al dispositivo che controlla. I joystick sono spesso utilizzati per controllare videogiochi e robot.

Per comunicare un’intera gamma di movimenti al computer, un joystick deve misurare la posizione della leva su due assi: l’asse X (da sinistra a destra) e l’asse Y (su e giù).

Le coordinate di movimento del joystick sono mostrate nella figura seguente.

Nota

  • La coordinata x va da sinistra a destra, con un intervallo da 0 a 4095.

  • La coordinata y va dall’alto verso il basso, con un intervallo da 0 a 4095.

../_images/16_joystick.png

Ora costruisci il circuito secondo il diagramma seguente.

../_images/14_star_crossed_bb.png

Programmazione

L’intero script serve a ottenere l’effetto per cui, quando si clicca sulla bandiera verde, la sprite Stars si muove con una curva sul palco e devi usare il joystick per muovere la sprite Rocketship affinché non venga toccata dalla sprite Star.

1. Aggiungi sprite e sfondi

Elimina la sprite predefinita e usa il pulsante Scegli una Sprite per aggiungere la sprite Rocketship e la sprite Star. Nota che la dimensione della sprite Rocket è impostata al 50%.

../_images/16_sprite.png

Ora aggiungi lo sfondo Stars utilizzando Scegli uno Sfondo.

../_images/16_sprite1.png

2. Programmazione per Rocketship

La sprite Rocketship deve ottenere l’effetto di apparire in una posizione casuale per poi essere controllata dal joystick per muoversi in alto, in basso, a sinistra e a destra.

Il flusso di lavoro è il seguente.

  • Quando si clicca sulla bandiera verde, fai sì che la sprite vada in una posizione casuale e crea 2 variabili x e y che memorizzano rispettivamente i valori letti dal pin33 (VRX del Joystick) e dal pin35 (VRY del Joystick). Puoi far eseguire lo script, muovendo il joystick su e giù, a sinistra e a destra, per vedere l’intervallo di valori per x e y.

../_images/16_roc2.png
  • Il valore del pin33 è compreso nell’intervallo 0-4095 (il centro è circa 1800). Usa x-1800>200 per determinare se il Joystick è spostato verso destra e, in tal caso, incrementa la coordinata x della sprite di +30 (per spostare la sprite verso destra).

../_images/16_roc3.png
  • Se il Joystick viene spostato a sinistra, imposta la coordinata x della sprite a -30 (sposta la sprite a sinistra).

../_images/16_roc4.png
  • Poiché la coordinata y del Joystick va dall’alto (0) verso il basso (4095) e la coordinata y della sprite va dal basso verso l’alto, per far muovere la sprite verso l’alto quando il Joystick viene spostato verso l’alto, la coordinata y deve essere -30 nello script.

../_images/16_roc5.png
  • Se il Joystick viene spostato verso il basso, la coordinata y della sprite è +30.

../_images/16_roc6.png

3. Programmazione per Star

L’effetto da ottenere dalla sprite Star è quello di apparire in una posizione casuale e, se tocca la sprite Rocketship, lo script si interrompe e il gioco finisce.

  • Quando si clicca sulla bandiera verde e la sprite va in una posizione casuale, il blocco [turn degrees] serve a far avanzare la sprite Star con un leggero cambiamento d’angolo in modo che sembri che si muova in una curva e, se tocca il bordo, rimbalza.

../_images/16_star1.png
  • Se la sprite tocca la sprite Rocketship mentre si muove, interrompi l’esecuzione dello script.

../_images/16_star2.png