A recipe of: Flappy birds! – (ViewPort camera)

Flappy Birds, Il gioco!

Con questo quarto tutorial, andremo a settare la camera di gioco.

 

Ingredienti:

 

Riprendiamo!

Con l’ultimo tutorial eravamo rimasti con l’aver settato la prima transizione di gioco dalla schermata di Menu alla schermata di gioco.

Ora, con questo nuovo tutorial, andremo a settare la visuale del gioco.

 

ViewPort

Il risultato che vogliamo ottenere, e’ uno “zoom in” verso il nostro protagonista, in modo tale da far sembrare il mondo di gioco piu’ grande e avere il nostro protagonista sempre al centro dello schermo.

Iniziamo con il vedere qui i vari metodi che ci fornisce la classe OrthoGraphicCamera e concentriamoci sul metodo setToOrtho.

Questo metodo ci e’ utile essenzialmente per configurare la camera di gioco, quindi, lo andremo a utilizzare all’interno della nostra classe “StatoGioco”.

All’interno del costruttore della classe “StatoGioco”, andiamo a definire una nuova camera, che vada a prendere in cosiderazione soltanto meta’ del nostro schermo.

camera.setToOrtho(false,FlappyBirdsGame.LARGHEZZA/2,FlappyBirdsGame.ALTEZZA/2);

E andiamo a dire alla funzione di render, di renderezziare unicamente quella parte di schermo tramite la stringa di codice:

spriteBatch.setProjectionMatrix(camera.combined);

La vostra classe dovrebbe essere ora piu’ o meno strutturata in questo modo:

statogiocolol

 

NOTA: ho spostato la texture dell’uccello a una posizione 30,50, altrimenti sarebbe uscita fuori dallo schermo e non sarebbe stata visibile.

Ora, se andiamo a lanciare la nostra applicazione, troveremo, una volta usciti dallo stato menu, e avendo fatto una transizione verso lo stato di gioco, che, il nostro “mondo di gioco” sara’ zoomato verso la parte sinistra e inferiore.

E che il nostro “bird” apparira’ piu’ grande rispetto a come lo vedevamo in precedenza.

 

Una volta usciti dallo stato menu e entrati nello stato di gioco dovreste ritrovarvi qui:

viewport

 

 

Saluti dal vostro nabbo Developer

Marco Tamagno

Facebook

Google+

Rispondi