NOTA! Questo sito utilizza i cookie e tecnologie simili.

Se non si modificano le impostazioni del browser, l'utente accetta. Per saperne di piu'

Approvo

Capitolo 67: Sprite e la gestione delle collisioni.

 

Rilevare le collisioni è un compito di importanza fondamentale nella quasi totalità dei videogiochi: le collisioni 'consentono' di recuperare oggetti, limitare i movimenti dei personaggi a determinati ambienti, verificare l'impatto tra personaggi e proiettili o altre armi ecc...

 

Fortunatamente per noi, le Sprite introdotte da lcdui.game mettono a disposizione quattro metodi atti a rilevare le collisioni della Sprite che li invoca con altri elementi presenti sullo schermo:

collidesWith(Image image, int x, int y, boolean pixelLevel)   :   boolean Verifica la posizione con un'immagine posizionata (angolo in alto a sinistra della stessa) in (x,y).
collidesWith(Sprite s, boolean pixelLevel)   :   boolean Verifica la collisione con uno Sprite.
collidesWith(TiledLayer t, boolean pixelLevel)   :   boolean Verifica la collisione con un TiledLayer.
defineCollisionRectangle(int x, int y, int width, int height)   :   void Definisce il 'rettangolo di collisione' effettivo dello Sprite.

 

pixelLevel è true se la collisione va rilevata considerando le trasparenze ('a livello di pixel'), false se bisogna basarsi sul rettangolo che contiene la Sprite.

 

 

Questi metodi permettono solo di RILEVARE le collisioni: la GESTIONE (ossia: le azioni da intraprendere e le modifiche da effettuare sullo stato del gioco, a seguito di una collisione) deve essere implementata dal programmatore, ma si tratta comunque di un grande vantaggio rispetto al dover fare tutto in proprio partendo da zero.

 

 
Vai all'inizio della pagina