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 >>
|
 |  |
|