In questo articolo continuiamo a scoprire come coordinare le azioni di sprite e stage utilizzando in maniera approfondita i messaggi di Scratch.

Nell’articolo precedente https://missioneinsegnante.it/2022/12/03/coding-con-scratch-i-messaggi-1-parte/ abbiamo visto che esistono due blocchi per inviare i messaggi in Scratch (Figura 1).

Per comprendere in che cosa si differenziano, vale la pena di ricordare come funzionano i messaggi di Scratch.
Quando uno sprite (oppure lo stage) inviano un messaggio, il blocco quando ricevo (Figura 2) fa eseguire i blocchi che sono agganciati sotto.

Ma che cosa succede allo script che ha inviato il messaggio?
Osserviamo la Figura 3, suddivisa in due esempi.
Nell’esempio A il primo script lancia il messaggio e, subito dopo, muove lo sprite di 10 passi. Questo avviene mentre il secondo script sta facendo ruotare lo sprite.
Nell’esempio B il primo script lancia il messaggio e aspetta che il secondo script (quello che riceve il messaggio) venga interamente eseguito. Dopo che il secondo script ha fatto ruotare lo sprite, il primo script muove lo sprite di 10 passi,

Questo meccanismo può essere molto utile quando si deve aggiornare la posizione di più sprite prima di fare qualcosa (Figura 4).

L’uso del blocco invia a tutti … e attendi può essere “pericoloso” quando il blocco che riceve il messaggio non termina mai la propria esecuzione. Per esempio quando presenta un ciclo per sempre come nell’esempio di Figura 5.

Balliamo con i messaggi di Scratch
Costruiamo un programma con quattro sprite. Tre pulsanti e ”Anina Dance” (Figura 6).

Ogni sprite a forma di pulsante lancia un messaggio diverso (Figura 7, Figura 8, Figura 9).



Lo sprite “Anina Dance” riceve i tre messaggi e per ognuno esegue un’animazione diversa (Figura 10, con due script da completare a piacere).

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