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à.
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+ |
Puoi anche acquistare i componenti separatamente dai link qui sotto.
INTRODUZIONE AI COMPONENTI |
LINK PER L’ACQUISTO |
|---|---|
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.
Ora costruisci il circuito secondo il diagramma seguente.
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%.
Ora aggiungi lo sfondo Stars utilizzando Scegli uno Sfondo.
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.
Il valore del pin33 è compreso nell’intervallo 0-4095 (il centro è circa 1800). Usa
x-1800>200per 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).
Se il Joystick viene spostato a sinistra, imposta la coordinata x della sprite a -30 (sposta la sprite a sinistra).
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.
Se il Joystick viene spostato verso il basso, la coordinata y della sprite è +30.
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.
Se la sprite tocca la sprite Rocketship mentre si muove, interrompi l’esecuzione dello script.