Home E-Books Effetti speciali e sviluppo giochi in Java metodi interessanti

Effetti speciali e sviluppo giochi in Java(TM) -Altri interessanti metodi nella classe Graphics

di Anibal Wainstein (traduzione di Hanami Solutions)

2.1.4 Altri interessanti metodi nella classe Graphics


 
Nella scorsa sezione abbiamo esaminato i metodi setColor() e fillRect() presenti in Graphics. Il seguente esempio vi mostra cosa potete fare con alcuni di loro.  

 import java.applet.*;
import java.awt.*;
public class risingsun extends Applet {
public void paint(Graphics g)
 {
   //Crea il cielo.
     g.setColor(Color.blue);
     g.fillRect( 0, 0, 200, 100);
     //Crea il sole.
     g.setColor(Color.yellow);
   //Il metodo fillOval() traccia un ovale pieno
     //in mezzo allo schermo con altezza e
     //ampiezza 50.
     g.fillOval(25,25,50,50);
    //Crea i raggi del sole con fillArc(),
     //setColor() è perché i colori
     //del pennello non saranno gli stessi.
     g.fillArc(0,0,100,100,180,10);
     g.fillArc(0,0,100,100,160,10);
     g.fillArc(0,0,100,100,140,10);
     g.fillArc(0,0,100,100,120,10);
     g.fillArc(0,0,100,100,100,10);
     g.fillArc(0,0,100,100,800,10);
     g.fillArc(0,0,100,100,60,10);
     g.fillArc(0,0,100,100,40,10);
     g.fillArc(0,0,100,100,20,10);
     g.fillArc(0,0,100,100,0,10);
//Crea il terreno
//Crea il colore marrone, non esiste un marrone preimpostato
Color ground = new Color(128,64,0); g.setColor(ground);
//Riempie il fondo dello schermo di marrone g.fillRect( 0, 50, 200, 50); //crea del testo in nero g.setColor(Color.black); g.drawString("Ciao Italia!",70,50); } }
Compilate il codice qua sopra e createne un file HTML che dovrebbe risultare in una applet con dimensioni 200 per 100 pixels.

Potete anche clickare qui se volete vedere il risultato finale.

Cominciamo ad esaminare le dichiarazioni nel metodo paint() dall'inizio. Il metodo setColor() in cima, fa lo stesso che ha fatto nella applet initbackground della sezione scorsa. La differenza è che ora specifichiamo direttamente il colore dalla classe Color, invece di fare prima riferimento ad essa. Il risultato è meno codice e più facilità di comprensione per chi lo legge.
Dopo che abbiamo impostato il colore del pennello a giallo e tracciato un cerchio alle coordinate (25,25) con ampiezza ed altezza 50. Questo lo facciamo con l'aiuto del metodo fillOval(). Il passo seguente è tracciare i raggi del sole. Questi sono tracciati col metodo fillArc(). Il metodo è simile a fillOval() ma con la differenza che potete specificare un angolo (in gradi) da cui volete che il raggio parta e pure una ampiezza di raggio (sempre in gradi).

Come funziona fillArc().

Ora riempiamo la parte bassa della applet con un marrone creato da noi, in quanto non esiste come colore predefinito. Creiamo un rettangolo che abbia metà dell'altezza dell' applet(Dimensioni 200x50) e lo facciamo scendere di 50 pixels, che è la metà dello schermo.
Finalmente è il momento di aggiungere un pò di saluti col metodo drawString() che tracceremo in nero. Il metodo richiede una stringa e una posizione x e y in cui collocare il testo. Notate che la posizione y è un pò fuorviante. si tratta della posizione per la riga su cui poggia il font!


Il metodo drawString() traccia stringhe dalla base.

Dovete tenerne conto quando usate drawString(). Nei capitoli più avanti vi mostreremo come cambiare anche il font in questo testo.

Tutti i metodi che abbiamo preso qui in esame, sono ben documentati nella guida alle API che potete scaricare dalla stessa locazione da cui avete scaricato i pacchetti di sviluppo. Lì, troverete anche una descrizione di altri utili metodi presenti nella classe Graphics. È bene che vi abituiate a leggere le documentazioni alle API, dato che si tratta di uno strumento altrettanto importante che il compilatore. Non ci si aspetta che memorizziate tutte queste funzioni.Se ci provate vi annoierete solo. Nel prossimo capitolo esamineremo i threads e comincerete a creare i vostri primi effetti speciali.

 


Pagina seguente >>