page4
Nella prima parte del tutorial questo argomento è già stato discusso, ma anche senza
Approfondimento: come funziona lo scroll del fondale?
Trovi questo ed altri tutorial su coderdojotrento.it
Realizzato con il supporto di CoderDolomiti.
Per ogni mappa e per l’aereo è indicata la coordinata Y, ovvero la loro distanza lungo la verticale dal punto iniziale del decollo, che abbiamo fissato al centro della mappa_1.
Se potessimo far scorrere il monitor assieme all’aereo che si sposta verso nord, avremo la situazione qui a sinistra (fingiamo che la Y dell’aereo sia .
Ma il monitor non può essere spostato, così -per simulare lo scorrimento verso l’alto dell’aereo- possiamo far scivolare nella direzione opposta tutte le mappe, tenendo fermo l’aereo a Y=0 (vedi figura a destra).
Pag.
<number>/12
ripercorrere tutti i passi di quel tutorial, possiamo capire il funzionamento dello scroll che stiamo utilizzando per far muovere il fondale. Posizionando i vari sprite mappa_1, mappa_2, mappa_3, mappa_4 e mappa_5 a diverse altezze Y (ovvero diversi valori della variabile privata “distanza dall’aeroporto”), abbiamo costruito una super-mappa fatta di cinque tasselli.
Licenza: CC-BY Alessandro Ebranati, CoderDojo Trento
Quest'opera è distribuita con Licenza Creative Commons Attribuzione 4.0 Unported
mappa_1
(Y = 0)
mappa_2
(Y = 360)
mappa_3
(Y = 2*360)
mappa_4
(Y = 3*360)
aereo
(Y = 540)
(0, 0)
200 --
400 --
600 --
800 --
1000 --
1200 --
mappa_1
(Y = 0
-540)
mappa_2
(Y = 360
-540)
mappa_3
(Y = 2*360
-540)
mappa_4
(Y = 3*360
-540)
aereo
(Y = 0)
(0, 0)
-400 --
400 --
200 --
600 --
-200 --




In questo secondo caso, la coordinata di ciascuna mappa è la differenza tra il valore della variabile “distanza dall’aeroporto” e la coordinata Y dell’aereo: questa infatti è la formula della coordinata Y per tutti gli sprite che devono fare lo scroll sotto l’aereo (vedi comando “vai dove Y è” nel ciclo “per sempre” dell’immagine di pagina 3).
Inoltre dobbiamo nascondere gli sprite che finiscono oltre lo schermo: se proviamo a far allontanare uno sprite al di fuori dello stage, Scratch ci impedisce di assegnargli una posizione troppo spo-stata, in modo che almeno un pezzettino dello sprite sia ancora visibile. Se però vogliamo evitare di vedere le zampe di King Kong penzolare dal bordo superiore dello schermo, o le mappe che si impilano come delle carte da gioco dobbiamo nasconderli.
Nasconderemo quindi uno sprite, quando la sua distanza dal centro dello schermo (che per noi è la differenza tra il valore della variabile “distanza dall’aeroporto” e la coordinata Y dell’aereo) supera 180 + circa metà dell’altezza dello sprite. Vedi e il blocco “se / allora” dell’immagine di pagina 3.
-600 --
È proprio quello
che io chiamo
moto relativo rispetto
all’aereo: se volete
ve lo spiego!
… e voi in cambio
mi spiegate cosa sia,
questo cosiddetto
“aereo” ...
40
200
Area visibile
dello stage



