Salve ragazzi, ho iniziato a programmare un piccolo videogioco in Java, e mi sono trovato davanti a un problema.
In una tipica impostazione di gioco in 2D risulta sempre necessario far muovere un personaggio, e in questo ci si trova davanti al problema delle animazioni.
Ora, utilizzando un array di immagini come frame di un animazione è possibile animare il personaggio facilmente.Il dubbio mi è salito quando ho pensato a cosa sarebbe successo se l'utente avesse fatto "tornare indietro" il personaggio. Mi sarebbe servito un altro set di immagini completamente speculari (il che non mi sembra una scelta ottima) oppure di un modo di utilizzare il drawImage in modo da poter disegnare la stessa immagine in modo speculare (il che sarebbe anche molto più facile da programmare).
Ho trovato questo metodo che disegna un immagine proprio come serve a me:
codice:
public void drawFlipped(Graphics graphics, int x, int y)
{
graphics.drawImage(image, image.getWidth(null)+x, y,x,image.getHeight(null)+y, 0,0,image.getWidth(null), image.getHeight(null),null);
}
Il fatto è che non ho la minima idea di come funzioni ma soprattutto, è consigliabile utilizzarlo per scopi di questo tipo? (mi ritroverei a doverlo richiamare moltissime volte durante l'esecuzione, ovvero tutte le volte in cui il personaggio è rivolto verso sinistra)
Mi servirebbe un piccolo consiglio da uno smanettone un po' più esperto