Nella #4 parte abbiamo visto come programmare gli schemi per renderli scorrevoli, ma qualcuno avrà notato che il gattino nel momento in cui andiamo a camminare verso sinistra dove finisce lo schema 1 precipita giù in basso, stesso discorso muovendosi verso destra schema 7 e questo non va bene...
Perciò dovremo bloccare lo scrolling in modo da non andare oltre l'inizio e la fine degli schemi.
Quindi nello sprite gattino scroll x non deve poter andare più indietro di 0 e non deve poter andare più avanti dell'ultimo livello 7 che in questo caso è 2880.
Occorre scrivere due condizioni, una condizione per l'inizio e una condizione per la fine, da controllo blocco se allora cosa se scroll x è minore di 0 allora variabile porta scroll x a 0, altro blocco se allora cosa se scroll x è maggiore di 2880 allora variabile porta scroll x a 2880, inseriamo questi due blocchi nello script quando ricevo camera_loop, fine.
Vediamo ora come inserire le monete da raccogliere per far accumulare punti al gattino.
Qui sono scaricabili gli sprite coin da utilizzare nel Platformer, ma si può utilizzare qualsiasi tipo di monete o oggetti.
Creiamo un nuovo sprite da disegnare, poi su costume e importiamo dal file appena scaricato tutti i costumi delle monete cancelliamo il primo costume vuoto che non ci serve e passiamo a scrivere il codice.
Molto bene, la prima cosa che vediamo è che la moneta è troppo grande per essere utilizzata quindi situazioni quando si clicca sulla bandierina verde aspetto porta dimensione diciamo al 10% bandiera verde e controlliamo se la dimensione è ok. Un'altra cosa da fare è creare l'animazione alternando i costumi, quindi controllo per sempre aspetto passa al costume seguente e gli diamo un ritardo di 0.1 secondo per diminuire la velocità di rotazione.
Ora dobbiamo dare alla moneta una posizione ben definita all'interno del nostro schema, utilizzeremo il solito sistema che abbiamo usato per gli schemi a scorrimento, quindi situazioni quando ricevo messaggio setup , movimento gli dico vai dove y è 0 al centro dello stage per ora.
Come abbiamo visto con gli sfondi avevamo creato una variabile livello x ,è una variabile che appartiene solo allo sprite dello sfondo che la utilizzava per definire la posizione, stessa cosa per quanto riguarda la moneta andiamo sulle variabili e creiamo una nuova chiamata coin x ma solo per questo sprite.
Perciò variabile porta con coin x a 55 ( questo numero varierà in base alla posizione in cui volete inserire le monete negli schermi e di conseguenza anche il valore y come vedremo in seguito).
Benissimo andiamo ora sullo sprite gattino a creare il sistema per far scorrere la moneta esattamente come facevamo con gli schemi, che iniziavano a scorrere quando arrivava il messaggio background_loop , potremo fare la stessa cosa ma è meglio differenziare, quindi andiamo ad aggiungere un nuovo messaggio situazioni invia a tutti nuovo messaggio e lo chiamiamo coin_loop.
Ok andiamo sullo sprite moneta, diciamo quando ricevo coin_loop che cosa per sempre vai dove x è coin x meno scroll x , perfetto bandierina verde, ora se muovo il gattino vedete che la moneta sta in una posizione ben definita ( coin x 55 ) e che si sposta con lo sfondo.
Però occorre risolvere, anche per la moneta, il problema che spostandosi a dx o a sx rimane visibile, per eliminare questo problema facciamo quello che abbiamo fatto per gli schemi, cioe se la posizione x = 240 o x = -240 nascondi altrimenti mostra ( 240 perche come vediamo la moneta non va oltre x -240 o 240).
Risolto il problema sopra, vediamo ora come aggiungere altre monete , nel blocco setup non dobbiamo far altro che inserire il blocco crea clone di me stesso , quindi duplichiamo i due blocchi porta coin x e crea clone , diamo una nuova posizione alla seconda moneta per esempio coin x 75, ancora duplica e nuova posizione 95, perfetto con questo abbiamo posizionato tre monete a y 0 e a x rispettivamente 55 - 75 - 95, l'ultimo clone è lo sprite originale che non ci serve, perciò dobbiamo nasconderlo, per far questo inseriamo nell'utimo blocco dei cloni il blocco vai dove y è 300 (fuori dallo stage) seguito da porta coin x a -1000 e per ultimo porta effetto fantasma a100.
Ora se ci spostiamo abbiamo le tre monete, ma non stanno girando perche sono i cloni della moneta originale, perciò dobbiamo semplicemente spostare il blocco che è sotto bandierina verde per sempre nel nuovo blocco quando vengo clonato.
Per inserire altre monete ad altezze diverse, occorre inserire anche il blocco vai dove y è vediamo un esempio:
Perfetto, passiamo a scrivere un sistema che ci permette di raccogliere punti ogni volta che il gattino tocca una moneta nascondendola, per far questo ci serve una variabile che tenga in memoria il numero della monete raccolte e di conseguenza il punteggio, quindi andiamo su variabili crea una variabile e scrivo monete, inseriamo nel blocco bandiera verde la variabile porta monete a 0.
Ora prendiamo un blocco se allora e lo inseriamo tra il blocco vai dove x è coinx-scrollx e il blocco se posizionex = 240 .
Dal gruppo sensori prendiamo il blocco sta toccando cosa inseriamo sprite che è il nome dello sprite del gattino, quindi se la moneta sta toccando il gattino o viceversa blocco nascondi, cambia variabile monete di 1e alla fine elimina questo clone.
A questo punto possiamo inserire tutte le monete che desideriamo aggiungendo altri clone di me stesso e posizionandoli dove desideriamo cambiando il valore nel blocco il valore di y e x, questo passaggio dovrà essere fatto per tentativi.
Nei prossimi post vedremo aggiungere nemici e vite al gattino.
Comments