Gestire pendii e pareti ripide. Lo sprite terra ha colline e pendii sui quali il gatto può camminare, ed è possibile cambiare lo sprite terra in qualsiasi forma nel Paint Editor. Ma ora il problema è che lo sprite Cat può salire il ripido pendio a sinistra con la stessa facilità con cui può salire il dolce pendio a destra. Questo non è molto realistico. Vogliamo che il pendio ripido blocchi il gattino. Per fare questo, faremo una piccola modifica ai blocchi del codice camminata.
A questo punto, gli sprite stanno diventando sovraffollati con un sacco di script diversi. Quindi, cliccate con il tasto destro del mouse sull'Area Script e selezionate Riordina per riorganizzare gli script in file ordinati.
5. Aggiungere il codice di pendenza ripida Ora abbiamo bisogno di modificare il codice di marcia dello sprite Cat e di aggiungere anche un nuovo codice. Invece di cambiare semplicemente la posizione x di un particolare valore, useremo un nuovo blocco personalizzato. Chiamiamolo camminata e diamo a questo nuovo blocco personalizzato un input chiamato gradino. Un input è un po' come una variabile, ma si può usare solo nel blocco di definizione del blocco personalizzato.
Fare clic sul pulsante Crea un blocco nella categoria Altri blocchi per creare il blocco che chiameremo camminata. Assicurarsi di fare clic sul pulsante Aggiungi un parametro numerico scrivi gradino, servirà per effettuare l'immissione dei passi.
Assicurati di selezionare la casella di controllo Esegui senza aggiornare lo schermo!
Questo codice richiede anche di fare una variabile per lo sprite Cat chiamata pendenza (che dovrebbe essere solo per questo sprite). Useremo questa nuova variabile per determinare se la pendenza è troppo ripida perché il gatto possa salire. Questo codice è un po' complicato, ma lo attraverseremo passo dopo passo. Per ora, copia il codice dello sprite Cat seguente:
Vogliamo che il gattino cammini per sei unità, come abbiamo fatto in precedenza, così usiamo -6 e 6 nel blocco camminata. Nel blocco definisci camminata, il blocco di input gradino è usato nel cambia x dei blocchi camminare, questo rende il codice più compatto, perché possiamo usare lo stesso script per spostare il gatto a sinistra (con il blocco -6) o a destra (con il blocco 6).
Il codice nel ciclo ripeti fino a quando usa la variabile pendenza per determinare se è una pendenza calpestabile o un muro che dovrebbe bloccare i progressi dello sprite Cat. La variabile di pendenza inizia da 0 e cambia di 1 ogni volta che la ripete fino a quando il loop solleva la posizione y di Cat di 1 sprite.
Questo loop continua finché lo sprite non tocca più il terreno o la pendenza di terra è uguale a 8.
Se il sollevamento del terreno è inferiore a 8, allora la pendenza non è così ripida. Lo sprite può camminare lungo il pendio, quindi il blocco definisci non deve fare nient'altro.
Ma se pendenza > 8, ripete fin quando il loop non si arresta. Questo codice significa "lo sprite è stato innalzato di 8 ma sta ancora toccando lo sprite di terra, quindi questo deve essere un pendio ripido." In tal caso, abbiamo bisogno di annullare la salita e il movimento a piedi. Il cambia y di -8 e il cambia x di -1 * gradino blocca il movimento dello sprite Cat. Moltiplicando l'input di camminata per -1 si ottiene il numero opposto dell'input e della variabile.
Fare clic sulla bandiera verde per testare il codice fino a questo momento. Usa i tasti freccia per far camminare il gattino.
Il gattino dovrebbe essere in grado di risalire il dolce pendio a destra, ma il forte pendio a sinistra dovrebbe fermare il gatto.
Fare clic sul segnale di stop rosso e salvare il programma.
Fare il salto in alto e in basso:
Terminato il codice, aggiungiamo il salto. In alcuni giochi, si utilizza una variabile decrescente in un numero positivo. Ciò significa che il giocatore ha saltato l'altezza del valore di quella variabile ogni volta. Ma in molti giochi di piattaforma, il giocatore può fare un breve salto premendo rapidamente il pulsante di salto o salendo più in alto tenendo premuto il pulsante di salto. Vogliamo utilizzare il salto in alto e in basso in questa piattaforma, quindi dovremo inventarci qualcosa di un po 'più avanzato del codice di salto tradizionale.
6. Aggiungi il codice di salto Creiamo prima una variabile solo per questo sprite chiamato in aria. Questa variabile sarà impostata su 0 ogni volta che lo sprite Cat è a terra. Ma in aria inizierà ad aumentare quando lo sprite Cat sta saltando o cadendo. Più grande è il valore in aria, più a lungo il gatto sarà fuori terra e in aria.
Aggiungi questo script allo sprite Cat:
Il ciclo per sempre continua a controllare se il tasto spazio viene tenuto premuto. Se lo è, questo darà allo sprite Cat una velocità di 14, cioè lo sprite di Cat si muoverà verso l'alto. Notare che ci sono due condizioni perché il gatto continui a salire: il giocatore deve tenere premuto tasto spazio e la variabile aria deve essere inferiore a 8.
Modifichiamo due degli script di sprite Cat esistenti per aggiungere la variabile in aria che limita l'altezza del salto del gatto.
Quando il giocatore tiene premuto il tasto spazio per far saltare il gatto, la variabile di velocità y è impostata su 14. Questo nel ciclo per sempre dello script cambia la posizione y dello sprite Cat per la velocità y positiva, spostandolo verso l'alto . All'inizio del salto, la variabile in aria è in aumento ma è ancora inferiore a 8. Quindi se il giocatore continua a tenere premuto il tasto spazio, la velocità y continua a essere impostata su 14 invece di diminuire a causa della variazione y della velocità di - 2 . Ciò fa sì che il salto salga più a lungo di quanto non fosse se il giocatore avesse tenuto premuto il tasto spazio per una sola iterazione attraverso il loop. Ma alla fine in aria diventerà uguale o maggiore di 8, quindi non importa se viene premuto il tasto spazio. Ricorda che entrambe le condizioni - tasto premuto e in aria <8 - devono essere vere per il codice all'interno del blocco se da eseguire.
A questo punto, la variabile di velocità y diminuirà come previsto e lo sprite Cat cadrà alla fine. Nello script tocca terra, quando il gatto è a terra, la variabile aria viene reimpostata su 0.
Fare clic sulla bandiera verde per testare il codice fino a questo momento. Premi il tasto spazio per saltare. La pressione rapida del tasto dovrebbe causare un piccolo salto. Tenere premuto il tasto spazio dovrebbe causare un salto più alto. Assicurati che il gatto possa saltare solo mentre è a terra e non può fare doppi salti. Quindi fare clic sul segnale di stop rosso e salvare il programma.