Rendi le tue animazioni scratch più reattivi con gli eventi

Cosa starai creando

Nel precedente tutorial, hai continuato a lavorare su un progetto per far inseguire un gatto in un granchio sullo schermo, aggiungendo un limite di tempo e mantenendo il punteggio.

In questa parte continueremo a lavorare su quel progetto. Aggiungeremo un evento broadcast e lo usiamo per attivare script per altri folletti. Quindi nasconderemo la maggior parte degli sprite quando il gioco sarà finito e mostrerà il punteggio finale.

Cosa ti serve

Per completare questo tutorial, avrai bisogno di:

  • un account gratuito con Scratch
  • un browser web con accesso a Scratch (ti consiglio di utilizzare un browser moderno come Chrome, Firefox, Safari o Opera per la migliore esperienza)

Iniziare

Lavoreremo con il progetto creato nella parte precedente di questa serie. 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:

  • Apri il progetto che hai creato per l'ultimo tutorial e ne fai un duplicato.
  • Remix il progetto che ho creato per supportare l'ultimo tutorial.

In alternativa puoi continuare a lavorare nello stesso progetto che hai già creato. Ecco come fai ognuno di questi (dovrai farlo solo uno).

Duplicazione del tuo progetto

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.

Remixing My Project

Accedi a Scratch e vai alla pagina per il mio progetto su dati e variabili.

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!

Creazione di un evento Broadcast per inviare messaggi

In questa parte della serie, aggiungerai un trasmissione messaggio al tuo progetto per comunicare internamente all'interno del tuo progetto. È possibile creare una trasmissione in uno script quando quello script raggiunge un certo punto o una condizione relativa a uno sprite viene soddisfatta e quindi fare in modo che uno qualsiasi degli altri sprite (o dello stage) reagisca alla trasmissione di quel messaggio. Questo collega gli sprite insieme e ti dà più spazio quando si tratta di aggiungere interazioni dell'utente.

Ti ricorderai che in precedenza abbiamo aggiunto uno sprite con del testo (che diceva 'Ouch !!') che abbiamo disegnato come costume per quello sprite. Al momento quel folletto è seduto immobile sul palco e non fa niente. Ora useremo una trasmissione per farlo fare qualcosa.

Ma prima creiamo la trasmissione.

Clicca sul gatto sprite e modifica lo script che hai già creato per questo.

Apri il eventi blocca e trascina il messaggio broadcast1 bloccare nella sceneggiatura, immediatamente sotto il cambia punteggio di 1 bloccare. Fare clic sull'elenco a discesa per Message1 e fare clic su nuovo messaggio… . Digitare un testo che è possibile utilizzare per definire la trasmissione. Questo testo non sarà visto dall'utente ma lo userete altrove nel tuo progetto, quindi ha senso chiamarlo qualcosa di significativo. Sto chiamando il mio catturato.

Ecco come appare la sceneggiatura del gatto ora:

Ora possiamo usare quella trasmissione per attivare script per altri sprite.

Utilizzo di un evento Broadcast per avviare uno script

Finora abbiamo iniziato tutti i nostri script con il quando la bandiera verde ha cliccato blocco, il che significa che lo script viene eseguito automaticamente all'avvio del progetto. A volte non vuoi che ciò accada: vuoi che uno script venga attivato dopo l'avvio del progetto. Ci sono alcuni modi per farlo: puoi attivare uno script quando viene premuto uno sprite o un tasto o quando cambia una variabile come il volume. Il metodo che useremo qui sta avviando uno script quando lo sprite riceve un messaggio broadcast.

Clicca sullo sprite di testo che hai creato in precedenza (Sprite2). Inizia dandogli un nome migliore (cliccando sul io icona in alto a sinistra e modifica del nome) -Io chiamo il mio Ahia.

Vogliamo che questo sprite sia invisibile per la maggior parte del tempo e appare solo quando il granchio cattura il gatto. Quindi creeremo due script: il primo per nascondere lo sprite e il secondo per farlo apparire.

Creazione di uno script per far scomparire lo Sprite

Crea questo script per lo sprite:

  • quando la bandiera verde ha cliccato
  • nascondere

Troverete il nascondere blocco nel Sembra blocchi. Questo nasconde lo sprite: ora quando avvii il progetto sparirà.

Creare uno script per far apparire di nuovo lo Sprite

Ora crea un secondo script per lo sprite Ouch:

  • quando ricevo preso
  • vai al gatto
  • mostrare
  • attendere 0,5 secondi
  • nascondere

Troverai il primo sprite nel eventi blocchi, il vai a blocco nel Movimento blocchi, il aspettare blocco nel Controllo sezione e il mostrare e nascondere blocchi dentro Sembra.

Usando gli eventi con gli sfondi

Man mano che i tuoi progetti diventano più lunghi e complessi, potresti scoprire che vorresti dare all'utente la sensazione di progredire attraverso un gioco o un'animazione cambiando lo sfondo. Qui lo faremo quando il timer si esaurisce e il gioco finisce.

Per farlo dobbiamo:

  • aggiungi una trasmissione quando il timer si esaurisce
  • crea un nuovo sfondo da mostrare alla fine del gioco
  • cambia lo sfondo quando il timer si esaurisce
  • nascondi gli sprite esistenti quando il gioco finisce
  • indica all'utente il loro punteggio quando il gioco finisce

Useremo il trasmissione Evento blocchi e anche il quando lo sfondo passa a blocco eventi. Iniziamo creando questa trasmissione.

Creare una trasmissione

Seleziona il Palcoscenico e aggiungere un trasmissione bloccare alla fine del suo script, sostituendo il smettila di tutto bloccare. Sto chiamando questa trasmissione gioco finito.

Creazione di un nuovo sfondo

Ora crea uno sfondo extra per il palco nello stesso modo in cui hai creato i fondamenti in precedenza in questa serie. Seleziona il Palcoscenico, clicca sul fondali scheda e importa, disegna o seleziona uno sfondo dalla libreria. Sto selezionando il Circles sfondo dalla biblioteca.

Il nuovo sfondo apparirà e quello originale sparirà, non fatevi prendere dal panico! Faremo apparire quello originale quando il progetto verrà lanciato e il nuovo apparirà al termine del gioco.

Modifica dello sfondo al momento giusto

A questo punto puoi probabilmente capire come far apparire il primo fondale all'avvio del progetto. Basta trascinare il cambia sfondo a blocco dal Sembra blocchi per lo script per lo stage, proprio sotto il quando la bandiera verde ha cliccato blocco e sopra il imposta il punteggio su 0 bloccare. Nella casella a discesa in quel blocco, selezionare spiaggia malibu.

Ora quando esegui il progetto, lo sfondo tornerà a quello che conosci:

Per cambiare lo sfondo al termine del gioco, crea un nuovo script per lo stage:

  • quando ricevo preso
  • cambia sfondo alle cerchie

Il tuo stage avrà ora due script:

Ora quando esegui il tuo progetto, lo sfondo cambierà quando il gioco termina, ma in realtà il gioco non finirà. Risolviamolo.

Nascondere gli sprite quando il gioco termina (e mostrandoli quando inizia)

Quando il gioco finisce, vogliamo che il granchio, la stella marina e gli sprite ahi scompaiano. Abbiamo quindi bisogno di creare uno script identico per ciascuno di questi sputi, che verrà attivato dalla trasmissione. La buona notizia è che puoi creare lo script una volta e poi copiarlo in ciascuno degli sprite.

Inizia con lo sprite di granchio. Crea questo script per questo:

  • quando ricevo il game over
  • nascondere

Ora copia questo script per ciascuno degli sprite ouch e stelle marine trascinando lo script dal Script riquadro per lo sprite di granchio su ciascuno degli sprite sotto il palco principale.

Ora, quando giochi, gli sprite spariranno quando il gioco finisce, ma non riappariranno più quando ripeti il ​​gioco. Quindi è necessario farli apparire quando il progetto inizia.

Per ciascuno degli sprite di granchio e stella marina, aggiungere un mostrare bloccare lo script che inizia con quando la bandiera verde ha cliccato, proprio all'inizio Non fare questo per lo sprite ouch come quello appare solo quando il granchio e il gatto si toccano. Ad esempio, lo sprite del granchio apparirà in questo modo:

Ora, quando giochi, gli sprite appariranno all'inizio e spariranno alla fine. L'unica cosa che non funziona ora è il gatto sprite, che è ancora in movimento. Non vogliamo che lo faccia, quindi modificheremo lo script esistente per il gatto.

Il gatto ha attualmente un per sempre blocco che controlla il suo movimento e il punteggio. Sostituiscilo per sempre blocco con a ripetere fino a blocco, assicurandosi che tutti gli stessi blocchi siano ancora all'interno ripetere fino a blocco che erano dentro il per sempre bloccare. Potresti trovare più facile trascinare il per sempre bloccare lontano dallo script sul Script riquadro, trascinare il ripetere fino a bloccare in posizione, quindi trascinare i blocchi dall'interno per sempre bloccare dentro il ripetere fino a bloccare. Quindi eliminare il per sempre bloccare.

Nello spazio nel ripetere fino a blocco, non possiamo usare a quando ricevo blocco, in quanto sono progettati per avviare gli script. Invece useremo un operatore. Trascina il = bloccare in quello spazio, trascinare il Timer variabile al primo spazio e digitare 0 nel secondo spazio quindi il blocco legge ripetere fino a Timer = 0.

Ora esegui il gioco e quando il tempo si ferma, il gatto sarà ancora visibile ma sarà fermo.

Raccontare all'utente il loro punteggio al termine del gioco

Facciamo in modo che il gatto dica all'utente il loro punteggio. Crea un nuovo script per il gatto sprite come segue:

  • quando lo sfondo passa alle cerchie
  • dì unirti a te segnato punteggio

Creare quel secondo blocco è un po 'complicato. Dovrai trascinare il di Ciao! bloccare lo script, quindi trascinare il aderire blocco da operatori nello spazio in cui si dice Ciao! Quindi digita "Hai segnato" nel primo spazio nel blocco di unione e trascina il segno Punto variabile al secondo spazio. Assicurati di aggiungere uno spazio alla fine del testo. Lo script sarà simile a questo:

Ora, quando esegui il gioco, il gatto apparirà da solo alla fine e ti dirà il tuo punteggio.

Sommario

L'aggiunta di eventi ai progetti consente di far accadere le cose mentre il progetto procede, in risposta agli input dell'utente, agli script che raggiungono un determinato punto o al valore di una variabile che cambia. In questo tutorial hai imparato come utilizzare gli eventi per cambiare lo sfondo quando il timer conta fino allo zero e visualizza il punteggio dell'utente.

Se hai voglia di una sfida, perché non aggiungere alcuni operatori allo sprite che hai creato che dice all'utente il loro punteggio. Forse potresti usare un Se blocco per rilevare il valore del Punto prezioso e chiedi al gatto di dire "Ben fatto!" se l'utente segna più di un certo importo, o "Meglio fortuna la prossima volta!" se hanno un punteggio basso.

Nella parte successiva di questa serie passeremo alla creazione di effetti animati utilizzando gli sfondi. Faremo uso degli sfondi duplicati che abbiamo creato proprio all'inizio della serie per creare un effetto di zoom.