In questo articolo cominciamo a vedere come coordinare le azioni di sprite e stage utilizzando il sistema dei messaggi di Scratch.

Usando Scratch abbiamo sicuramente apprezzato il fatto che ogni sprite (e anche lo stage) viene programmato singolarmente.
Spesso, però, partendo da uno sprite abbiamo necessità di far fare qualcosa a un altro sprite. Per esempio: è possibile far muovere il palloncino quando si clicca il pulsante (Figura 1)?

Per gestire casi simili, in Scratch esiste un comodo meccanismo: quello dei messaggi.
I messaggi sono dei segnali che gli sprite e lo stage possono scambiarsi tra loro. I blocchi necessari a inviare e ricevere messaggi sono tre e si trovano nella categoria “Situazioni” (Figura 2).

Il comando invia serve ad inviare un messaggio che può essere ricevuto da tutti gli sprite e dallo stage.
Non è possibile inviare un messaggio a un destinatario preciso. Ogni sprite e lo stage possono però decidere quali messaggi gestire, attraverso il comando quando ricevo.
In uno stesso progetto di Scratch i messaggi possono essere numerosi. Possiamo creare un nuovo messaggio (Figura 3) da ciascuno dei tre blocchi visti in precedenza.

Far volare un palloncino con i messaggi di Scratch
Come illustrato sotto, con lo sprite a forma di pulsante selezionato, abbiamo creato il messaggio “lancia palloncino” (Figura 4).

Un messaggio può essere lanciato in qualsiasi punto del codice. In questo caso (Figura 5) il messaggio viene lanciato quando si clicca sullo sprite.

È lo sprite del palloncino a ricevere il messaggio (Figura 6). Non basta però ricevere un messaggio, bisogna anche decidere che cosa deve fare lo sprite quando lo ha ricevuto.

In questo caso, quando lo sprite “Balloon1” riceve il massaggio “lancia palloncino”, vola verso l’alto di 240 passi (Figura 7).

Ecco la programmazione completa del pulsante (Figura 8).

E la programmazione completa del palloncino (Figura 9).

Puntata precedente: Coding con Scratch: musica e note
Puntata successiva: Coding con Scratch: i messaggi (2° parte)
Devi effettuare l'accesso per postare un commento.