In questo serie di tutorial vedremo come muovere e far saltare il nostro gattino da una piattaforma all'altra, questo stile di gioco è chiamato platform (o gioco di piattaforma ), prendendo spunto da un tutorial realizzato da uno dei più bravi autori della piattaforma di Scratch e precisamente Griffpatch.
1. Creiamo lo Sprite ground (terra) Usiamo una forma semplice per il terreno nei primi script, solo per scoprire come funzionerà il codice.
Fai clic sul pulsante Disegna un nuovo sprite per creare uno sprite di terra temporaneo mentre impari a conoscere il codice della piattaforma. Nell'editor dei colori, usa lo strumento Pennello o Linea per disegnare una forma per il terreno. Puoi rendere le linee più spesse utilizzando il cursore Larghezza linea nell'angolo in basso a sinistra dell'Editor dei colori. Assicurati di tracciare anche una leggera pendenza.
2. Programmiamo il codice gravità e terreno:
Nella prima parte vediamo come programmare un codice che simuli la gravità, la caduta e atterraggio. Nel platform, il gattino atterra quando tocca uno sprite di terra piuttosto che il fondo dello stage. La codifica è un po 'complicata, perché vogliamo che il terreno abbia le colline e infine le piattaforme!
Ora che abbiamo uno sprite terra, abbiamo bisogno che il gattino cada e atterri su di esso.
Seleziona lo sprite Cat . Nella categoria Variabili e liste , fare clic sul pulsante Crea una variabile e creare una variabile solo per questo sprite denominato velocità y.
Quindi aggiungi il seguente codice allo sprite Cat :
Questo codice esegue due azioni nel suo ciclo ripetuto : fa cadere lo sprite Cat finché non tocca lo sprite terra ➊ e quindi solleva lo sprite Cat se è nel terreno ➋ .
Con queste due sezioni di codice, il gatto cadrà, colpirà il terreno, e poi si alzerà se necessario, per poi stabilirsi sulla cima dello sprite terra.
Durante la caduta il codice ➊ sottrae 1 dalla variabile di velocità y e quindi sposta la posizione y dello sprite Cat per y velocity
La ripetizione fino al blocco ➋ verrà interrotta quando lo sprite Cat non toccherà più lo sprite di terra.
All'interno di questo ciclo, la velocità y è impostata su 0 in modo che il gattino non cada più, Il blocco cambia y per 1 solleverà un po 'lo sprite Cat, lo ripeterà finché non è più affondato nel terreno sprite.
È così che il gattino rimane in cima al terreno, indipendentemente dalla forma dello sprite di terra.
3. Facciamo camminare il gattino: Il gattino deve anche camminare a sinistra e destra usando i tasti freccia destra e freccia sinistra, quindi aggiungi lo script seguente allo sprite Cat :
Questo codice è molto semplice: premendo freccia sinistra si punta il gatto a sinistra ( -90 ) e si sposta la posizione x di -6 (a sinistra); premendo freccia destra fa puntare il gatto a destra e sposta la posizione x di 6 (a destra).
Quindi, aggiungi il seguente script per far riapparire lo sprite del gattino verso l'alto se cade nella parte inferiore dello stage.
4. Rimuovere il ritardo del sollevamento terra Il grosso problema con il codice ora è che lo sprite Cat viene sollevato da terra a sopra molto lentamente. Questo codice deve essere eseguito così velocemente che il giocatore vede solo lo sprite in cima al terreno, non in esso.
I blocchi personalizzati viola scuro possono aiutarci a farlo. Vai alla categoria Altri blocchi e fai clic sul pulsante Crea un blocco.
Assegna un nome alla maniglia del blocco (esempio tocca terra) , quindi fai clic sul triangolo grigio Opzioni, e metti la spunta su esegui senza aggiornamento della schermo.
Il blocco di definisci tocca terra dovrebbe ora apparire nell'area degli script, sposta l'intero codice inserito nel blocco ripeti fino a quando sotto la maniglia definisci tocca terra, quindi inserire al suo posto il blocchetto tocca terra, come vediamo sotto.
Questo codice funziona esattamente come prima, ma ora il blocco definisci tocca terra ha l'opzione esegui senza aggiornamento della schermata selezionata, quindi il codice di loop viene eseguito in modalità Turbo. Sollevare il gattino ora avviene all'istante, quindi sembra che il gattino non affonda mai nel terreno.
Fare clic sulla bandiera verde per testare il codice. Fai girare il gatto o usa il mouse per far cadere il gatto dalla cima dello stage come prima. Ora lo sprite Cat non dovrebbe mai affondare nel terreno.