Creare una semplice animazione grafica con Java ME
Pagina 1 di 4
Una caratteristica essenziale delle piattaforme di sviluppo orientata ai dispositivi mobili è quella di fornire dei modelli estendibili per la produzione di animazioni grafiche di solito finalizzate principalmene alla creazione di videogiochi.
In Java ME tutto questo è implementato attraverso una specifica che prevede anche la gestione del ciclo di vita di un gioco. Tralasciamo per il momento questo argomento che riguarda l' architettura complessiva per lo sviluppo del gioco stesso e addentriamoci invece in quello che riguarda le animazioni grafiche che rappresentano a mio avviso la parte più creativa e interessante.
Display, Displayable e Canvas
Il cuore delle libreria grafiche nella piattaforma Java ME sono le classi Display e Displayable.
La prima si occupa di gestire gli elementi visualizzabili sullo schermo del dispositivo e la seconda rappresenta la massima astrazione di tali elementi, che sono componenti visualizzabili e posizionabili all' interno dello schermo.
In questo contesto la Java ME fornisce due tipi di oggetti Displayable ognuno dei quali ha un ruolo diverso in base ai componenti che intendiamo realizzare o utilizzare. Le sottoclassi fondamentali di Displayable sono :
La classe Canvas invece concretizza la classe Displayable, ma a sua volta ha bisogno di una ulteriore concretizzazione del metodo astratto paint(Graphics g) dove all' interno è necessario definire le istruzioni di un disegno da proiettare sullo schermo.
Questo significa programmazione grafica a basso livello indispensabile per la realizazzione di animazioni. Di particolare importanza è l' oggetto Graphics, da utilizzare nel metodo paint. Quest'oggetto fornisce metodi essenziali per il disegno a basso livello,
con cui è possibile disegnare linee, cerchi, figure punti etc..
Vediamo i metodi principali:
- void drawLine(int x1, int y1, int x2, int y2) :
Disegna una retta che passa per i punti (x1,y1), (x2,y2) - void drawRect(int x, int y, int width, int height)
Disegna un rettangolo alle coordinate (x1, y1) con la rispettiva altezza e larghezza - void filRect(int x, int y, int width, int height)
Come sopra, soltando che riempie il rettangolo con il colore corrente - void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
Disegna un 'arco con le relative coordinate x1 e y1, altezza larghezza (height e width) e la larghezza dell' angolo - void setColor(int r, int g, int b)
Setta il colore corrente con cui poi vengono disegnate le figure
Una volta concretizzato un Displayable che sia un Canvas oppure un oggetto di tipo Screen bisogna visualizzarlo sullo schermo. A tal proprosito che entra in gioco l' oggetto Diaplay che si occupa appunto di gestire la visualizzazione degli elementi sullo schermo. L' oggetto Display essendo un Singleton, non è istanziabile direttamente ma si può ottenere un' istanza in questo modo:
public class Demo extends MIDlet {
private Display display;
...
display = Display.getDisplay(this);
...
}
Una volta ottenuta un'istanza ecco metodi principali che possiamo usare :
- public Displayable getCurrent(), ritorna l' oggetto grafico visualizzato sullo schermo
- public void setCurrent(Displayable d) setta l' oggetto da visualizzare







