Hem E-böcker Specialeffekter och spelutveckling i Java Andra intressanta metoder i Graphics klassen

Specialeffekter och spelutveckling i Java(TM) - Andra intressanta metoder i Graphics klassen

av Anibal Wainstein 

2.1.4 Andra intressanta metoder i Graphics klassen 
 


I förra avsnittet gick vi igenom Graphics-metoderna setColor() och fillRect(). 
Det finns många metoder som man har nytta av i Graphics. Följande exempel visar vad man kan göra med några av dem. 
 

 

 import java.applet.*;
 import java.awt.*;
 public class uppgaendesol extends Applet {

 public void paint(Graphics g)
 {
     // *** skapa himlen
     g.setColor(Color.blue);      g.fillRect( 0, 0, 200, 100);
     // *** skapa solen
     g.setColor(Color.yellow);
     // metoden fillOval() skapar en fylld oval
     // mitt i skärmen med bredden och höjden 50
     g.fillOval(25,25,50,50);
     // *** skapa solens strålar med fillArc
     // setColor behövs inte eftersom pennans
     // färg skall vara densamma
     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);
     // *** skapa marken
     // skapa brun färg, den finns inte färdig
     Color ground = new Color(128,64,0);
     g.setColor(ground);
     // fyll nedre delen av skärmen med brunt
     g.fillRect( 0, 50, 200, 50);
     // *** skapa en svart text
     g.setColor(Color.black);
     g.drawString("Tjena Sverige!",50,50);
 }
 }
Kompilera koden ovanför och gör en HTML file som har en applet som är 200 gånger 100 pixels. 

Du kan klicka här om du vill se slutresultatet. 

Vi börjar med att gå igenom satserna i paintmetoden från början. setColor() metoden i början gör faktiskt samma sak som färgsättningsappleten i förra avsnittet. Skillnaden är att vi nu direkt specifierar färgen från Color klassen i stället för att göra en pekare till den först. Det blir mindre kod och mer lättförståeligt för dem som läser koden. 
Efter det så sätter vi pennan till gul och skapar en fylld cirkel i positionen (25,25) med bredden och höjden 50 med hjälp av metoden fillOval(). Nästa steg är att rita solens strålar. Dessa ritas med metoden fillArc(). Metoden liknar fillOval() men med skillnaden att du kan specifiera en vinkel (i grader) som du vill att strålen skall börja på, samt en vinkelbredd (i grader). 

Hur fillArc fungerar.

Nu fyller vi nedre halvan av appleten med brunt som vi blir tvungna att skapa eftersom det inte finns färdigt.  Vi skapar därför en rektangel som har halva applethöjden (200x50) och flyttar ner den 50 pixels, som är hälften av skärmen. 
Till sist är det dags att lägga till ett litet hälsningsmeddelande med metoden drawString() som vi ritar i svart. Metoden kräver i sin tur en sträng och ett x och y position där texten skall placeras. Observera dock att y positionen är lite missvisande. Den är positionen för textens nedre kant!


Hur drawString ritar ut textsträngar.

Detta måste man ta hänsyn till när man använder drawString(). Vi kommer i senare kapitel att visa hur man kan ändra fonten på texten också. 

Alla metoder som vi har gått igenom här finns väldokumenterade i API referensen som du kan ladda ner från samma ställe där du laddar ner utvecklingspaketen.. Där hittar du också en beskrivning av andra nyttiga metoder i Graphics klassen. Det är lika bra att du vänjer dig att läsa i API referensen för det är ett verktyg som är lika viktig som kompilatorn. Det är inte meningen att du ska komma ihåg hur alla dessa funktioner fungerar utantill. Försöker du göra det ändå så kommer du bara att bli uttråkad.

 


Nästa sida >>