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.
Per completare questo tutorial, avrai bisogno di:
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:
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 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!
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.
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.
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à.
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.
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:
Useremo il trasmissione
Evento blocchi e anche il quando lo sfondo passa a
blocco eventi. Iniziamo creando questa 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.
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.
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.
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.
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.
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.