Continuiamo ad esplorare l’uso dei sensori di Scratch, per gestire gli input ricevuti dall’utente o dall’ambiente esterno e integrarli all’interno dei nostri progetti.

Alcuni blocchi della categoria “Sensori” di Scratch hanno due o più opzioni selezionabili tramite un comodo menu a tendina (Figura 1).

Con il blocco sta toccando il bordo si controlla quando uno sprite sta uscendo dallo stage e si decide che azioni eseguire.
In Figura 2 si è deciso di fermare l’intero programma.

Quando due sprite si toccano tra di loro (o toccano il bordo oppure ancora toccano un determinato colore) si parla di “collisione”.
Colori e collisioni
Per capire meglio come funziona questo meccanismo disegnamo due cerchi sullo stage. Partiamo selezionando proprio lo stage (Figura 3)

Quindi clicchiamo la tab “Sfondi” (Figura 4).

Rimanendo in modalità vettoriale tracciamo due cerchi che coloriamo in rosso e in verde (Figura 5). Impostiamo lo spessore del contorno (del bordo) a 0, per eliminarlo dalle figure.

Il blocco sta toccando il colore ci consente di scegliere il colore da controllare attraverso un miscelatore (Figura 6) oppure andando a prenderci un cambio del colore dello stage tramite lo strumento del contagocce (Figura 7).


Perché lo script funzioni bisogna inserire i controlli se … allora all’interno di un ciclo per sempre, in maniera tale che vengano eseguiti di continuo (Figura 8).

Rilevare gli scontri tra colori con i sensori di Scratch
È anche possibile verificare la collisione tra due diversi colori.
Nell’esempio di Figura 9, al posto del gatto abbiamo caricato lo sprite di un dinosauro. Il colore della coda è un verde più scuro della testa.
Con il blocco il colore … sta toccando il colore … possiamo capire quale parte di uno sprite sta toccando un determinato colore, consentendoci quindi di realizzare, per esempio, videogiochi di una certa complessità.

Puntata precedente: Coding con Scratch: i sensori (1° parte)
Puntata successiva: Coding con Scratch: operatori matematici (1° parte)
Devi effettuare l'accesso per postare un commento.