Supponiamo che io abbia tre livelli: un primo piano, una terra intermedia e uno sfondo. Cosa comporta l'utilizzo di questi tre livelli per creare lo scorrimento della parallasse ?
Supponiamo che io abbia tre livelli: un primo piano, una terra intermedia e uno sfondo. Cosa comporta l'utilizzo di questi tre livelli per creare lo scorrimento della parallasse ?
Risposte:
Dividi la posizione di ciascun livello per la "distanza" che desideri che abbia dalla telecamera.
Ad esempio: creare un paio di variabili per rappresentare la posizione della telecamera cameraX
e cameraY
. Impostali per eguagliare la posizione del tuo personaggio, eventualmente aggiungendo un po 'di più nella direzione del movimento.
Lo strato principale verrebbe semplicemente posizionato su
mainLayer.x = -cameraX;
lo strato intermedio in qualcosa del genere
middleLayer.x = -cameraX * 0.5;
e lo strato più lontano a
farLayer.x = -cameraX * 0.2;
Modificare le costanti secondo necessità.
Fondamentalmente vuoi che gli oggetti si muovano più velocemente, più si avvicinano alla "telecamera". Come lo implementi dipende da te.
Assegno a ciascuno dei miei livelli una profondità, e quindi mentre scorro la scena, per ogni livello divido tale scorrimento per la profondità del livello, in modo che gli strati più distanti si spostino più lentamente.
Il modo migliore per farlo è semplicemente renderizzare gli sprite come quad in cartellone in 3D. Il "gameplay" può avvenire tutto su un piano, mentre lo sfondo e il primo piano possono essere posizionati più vicini o più lontani nello spazio 3d. In questo modo, l'effetto di parallasse viene gestito per te senza che tu debba eseguire alcuna codifica speciale :-)