back to top

Scratch: programmare utilizzando i Blocchi

Dopo aver descritto le caratteristiche principali dell’interfaccia di Scratch possiamo concentrarci sulla programmazione vera e propria.

Come già detto nelle prime lezioni della nostra Guida Scratch, l’ambiente di sviluppo consente di programmare senza dover scrivere nemmeno una linea di codice, ma semplicemente trascinando le tipiche "mattonelle colorate" nell’Area degli Script, incastrandole nel giusto modo secondo la logica del pensiero computazionale.

Il mio primo progetto Scratch

In questa lezione vedremo come creare il nostro primo progetto Scratch: una semplicissima animazione che si avvia al click dell’utente sul personaggio.

Per prima cosa vi invito a creare un nuovo progetto Scratch, selezionare lo Sprite di default (il gattino) e poi la tab "Blocchi".

Selezioniamo lo Sprite del gattino

E’ attraverso i blocchi che possiamo animare gli Sprite (e in parte anche lo Stage) del nostro progetto e farli interagire tra loro.

Di seguito il mio primo progetto Scratch:

Il mio prima progetto Scratch

Vediamo di seguito cosa ho fatto:

  • Il primo blocco (giallo) appartiene alla categoria "Situazioni" e consente di creare ciò che in programmazione si chiama evento (cioè un accadimento che scatena un’azione). Nel nostro caso l’evento corrisponde al click dell’utente sul gattino.
  • Il secondo blocco (viola) appartiene alla categoria "Aspetto" e comporta una modifica dell’aspetto grafico dello Sprite: nel nostro caso comparirà un fumetto con la scritta "Uhm…".
  • Il terzo blocco (fucsia) appartiene alla categoria "Suoni" e comporta l’emissione di un suono che, nel nostro esempio, corrisponde al miagolio ("miao").
  • Il quarto e ultimo blocco (ocra) appartiene alla categoria "Controlli" e determina la chiusura dell’animazione (in programmazione corrisponde a dichiarazioni come exit o close).

In pratica ho programmato quanto segue:

  • ho definito un evento (click sullo sprite);
  • ho previsto cosa deve accadere quando l’evento si verifica (il gattino pensa 2 secondi e poi dice "miao").
  • al termine della fase esecutiva (le azioni del gatto) ho dichiarato la fine del programma.

L’esempio appena proposto è molto semplice ma dovrebbe rendere l’idea di ciò che è possibile fare attraverso i Blocchi. Per offrire una panormica più completa vediamo come implementare un’animazione più complessa.

Un’animazione più complessa

Per realizzare un’animazione un po’ più complessa ho deciso di utilizzare lo Sprite della ballerina.

Lo Sprite della Ballerina

Obiettivo della mia programmazione sarà quello di costruire una specie di balletto utilizzando gli strumenti che vengono forniti da Scratch. Di seguito i blocchi del mio nuovo progetto:

Programmiamo la danza della Ballerina in Scratch

Ancora una volta vediamo, passo passo, cosa è stato fatto:

  • Il primo blocco (giallo) appartiene alla categoria "Situazioni" e crea uno specifico evento (il click sulla bandiera verde).
  • Il secondo blocco (ocra) appartiene alla categoria "Controlli" e, come potete notare, si estende in altezza "abbracciando" 7 blocchi. Lo scopo di questo blocco è quello di ripetere tutto quanto in esso contenuto per 3 volte (in programmazione questo tipo di struttura di controllo prende il nome di ciclo).
  • All’interno del nostro ciclo abbiamo una serie di blocchi viola (Aspetto) ed ocra (Controlli) che si alternano: in pratica il nostro Sprite cambierà il suo Costume con pause di un secondo.
  • L’ultimo blocco (ocra) appartiene alla categoria "Controlli" e determina la chiusura dell’animazione.

Per testare l’effetto della nostra configurazione proviamo a cliccare sulla bandierina verde: se tutto è andato come previsto dovreste vedere un’animazione in cui la ballerina ripete la sua danza per tre volte e poi si ferma.

Ovviamente si tratta di esempi basilari ma sufficienti, credo, per intuire le potenzialità di Scratch.

Pubblicità
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).