Ora sei quasi sempre in questa serie di principianti su Scratch. Hai creato un gioco in cui l'utente insegue un gatto con un granchio, il gatto dice 'Ouch!' quando il granchio lo colpisce, e viene mantenuto un punteggio. Il gioco ha alcune animazioni e mantiene il punteggio, che viene visualizzato alla fine.
In questa parte continueremo a lavorare su quel progetto. Useremo un blocco personalizzato per rendere il nostro codice più ordinato e più semplice da utilizzare.
I blocchi personalizzati hanno pochi usi:
In questo tutorial useremo i primi tre approcci.
Per completare questo tutorial, avrai bisogno di:
Lavoreremo con il progetto creato nell'ultima parte di questa serie, sulle animazioni. Useremo le risorse e gli script che abbiamo creato finora e ne aggiungeremo altri.
A seconda che tu abbia lavorato con quel tutorial, ci sono due modi per iniziare questo tutorial:
In alternativa puoi continuare a lavorare nello stesso progetto che hai già creato. Ecco come fai ognuno di questi (dovrai farlo solo uno).
Apri Scratch e vai al progetto che desideri duplicare. Assicurati di aver fatto clic su Vedi dentro pulsante in modo da poter vedere il funzionamento del progetto.
Nella barra degli strumenti, fare clic su File> Salva come copia:
Scratch aprirà la tua nuova copia. Rinominalo e inizia a lavorarci.
Accedi a Scratch e vai alla pagina per il mio progetto sulle animazioni.
Clicca il Vedi dentro pulsante per visualizzare il progetto:
Ora fai clic sul Remix pulsante. Scratch salverà un duplicato del mio progetto come nuovo progetto nel tuo account. Rinominalo e sei a posto!
Per prima cosa è necessario identificare dove un blocco personalizzato renderebbe gli script più efficienti. In questo progetto lo script principale per lo stage include alcune ripetizioni di due righe:
attendere 1 sec
cambia Timer di -1
Questo non è un codice ripetitivo, quindi in un progetto reale potresti scegliere di lasciarlo così com'è, ma per lo scopo di questo tutorial sostituiamolo con un blocco personalizzato.
Seleziona il Palcoscenico e fare clic su Più blocchi. Clicca sul Crea un blocco pulsante. Ti verrà presentato il Nuovo blocco la finestra di dialogo:
Ora vedrai un nuovo "cappello" di script chiamato definire Count down ogni secondo
(o come lo hai chiamato tu):
Per definire questo blocco, è necessario aggiungere i blocchi che sostituirà sotto tale 'cappello'. Questi saranno i attendere 1 sec
e cambia Timer di -1
blocchi.
Dopo averlo fatto, modifica lo script con quei due blocchi ripetuti in modo che i due blocchi vengano sostituiti ogni volta dal blocco personalizzato. Lo script ora avrà 11 blocchi di codice anziché 14:
Questo ha solo ridotto il codice di tre righe in quello script, ma puoi vedere come se tu stessi usando routine più grandi o ripetendole più spesso, forse per gli sprite diversi, renderebbe le cose più efficienti. Se vuoi applicare un blocco personalizzato a tutti gli sprite, crealo nello stage.
Un altro modo per utilizzare blocchi personalizzati è quello di sostituire le routine di grandi dimensioni negli script, rendendo gli script più brevi e più facili da gestire. Il gatto sprite ha attualmente un sacco di blocchi nel suo script principale, quindi applichiamo questo principio a questo.
Ecco come sono ora gli script di gatto:
Creiamo due blocchi personalizzati: uno per la routine che chiede all'utente di definire cosa dirà il gatto e uno per la routine che fa reagire il gatto all'essere catturato dal granchio.
Assicurati di aver selezionato il gatto e vai al Più blocchi sezione. Clicca il Crea un blocco pulsante e nominare il primo blocco. Lo chiamerò: "L'utente definisce il suono del gatto".
Ora trascina i blocchi che eseguono quella routine sul "cappello" per il tuo blocco personalizzato. I blocchi che devi spostare sono i seguenti:
chiedi Se il gatto miagola o urla quando viene pizzicato dal granchio? e aspetta
se rispondi = miagolio allora
dì miagolare per 2 secondi
altro
se answer = urlo allora
di 'urlo! per 2 secondi
Assicurati di trascinare i blocchi sotto di questi allo script originale.
Ora aggiungi il L'utente definisce il suono del gatto
blocca nella tua sceneggiatura originale nel punto in cui hai estratto i blocchi sopra.
Ripeti l'operazione per le righe di codice che seguono, creando un nuovo blocco personalizzato chiamato Il gatto reagisce alla cattura
, aggiungendo i blocchi a questo e aggiungendo il nuovo Il gatto reagisce alla cattura
bloccare il tuo script originale.
Ecco come appaiono gli script del gatto ora:
La quantità di codice è la stessa, ma separando le due routine hai reso più facile vedere cosa sta succedendo nel tuo script originale. Questa è una tecnica che alcune persone troveranno utile, mentre altri potrebbero preferire rimanere fedeli a tutti i blocchi in una lunga scrittura!
Un altro uso per un blocco personalizzato consiste nel creare una routine ricorsiva, in cui una routine può essere eseguita all'interno di se stessa. È più facile da spiegare creandone uno.
Il L'utente definisce il suono del gatto
il blocco personalizzato che abbiamo appena definito richiede all'utente di digitare un suono che farà il gatto. Se l'utente digita "meow" o "scream", lo script reagisce. Ma cosa succede se l'utente digita o digita qualcos'altro? Se ciò accade, vogliamo mostrare un messaggio all'utente e poi fare di nuovo la domanda. Possiamo farlo creando il L'utente definisce il suono
routine ricorsiva.
Seleziona il gatto sprite e modifica il L'utente definisce il suono del gatto
blocco personalizzato. Inizia sostituendo il Se
bloccare dentro il altro
sezione del se altro
bloccare con un secondo se altro
bloccare. Assicurati di copiare le condizioni (risposta = urlo
) dal tuo originale Se
bloccare nel Se
sezione del nuovo se altro
bloccare. Muovi il di 'urlo! per 2 secondi
bloccare dentro il Se
loop in quello se altro
bloccare.
Ora nel altro
sezione del se altro
blocco, aggiungi questi blocchi:
di scusa, non l'ho preso per 1 sec
imposta il timer su 0
L'utente definisce il suono del gatto
Ecco come apparirà il tuo script:
Ora se l'utente inserisce la risposta sbagliata, il gatto dirà "Scusa, non l'ho capito", il Timer si azzererà e la routine verrà ripetuta, chiedendo all'utente quale suono vogliono che il gatto rendere.
I blocchi personalizzati sono uno strumento molto utile in Scratch. Come hai imparato in questo tutorial, puoi usarli per salvare ripetutamente un insieme di blocchi nel tuo progetto, oppure puoi definire routine che poi aggiungi a uno script, rendendo i tuoi script più gestibili. Se hai bisogno di ripetere una routine se una condizione è soddisfatta, puoi creare una routine ricorsiva come quella che hai creato per il gatto.
Puoi anche includere stringhe, numeri e input booleani nei tuoi blocchi personalizzati, il che significa che ogni volta che aggiungi un blocco a uno script, puoi cambiare il modo in cui funziona. Per maggiori informazioni su questo, controlla il wiki di Scratch.
Il tuo progetto Scratch è ora completo! Nella prossima e ultima parte di questa serie, vedremo come è possibile condividere il tuo lavoro e creare studi per lavorare in modo collaborativo.