Beispiel 1: Dem Actor packman werden zwei Sprites zugeordnet, die abwechselnd sichtbar sind. |
![]() |
// JGameEx8a.java import ch.aplu.jgamegrid.*; public class JGameEx8a extends GameGrid { public JGameEx8a() { super(40, 40, 15); addActor(new Pacman(), new Location(28, 10)); show(); } public static void main(String[] args) { new JGameEx8a(); } } // ------------ class Pacman ----------------------- class Pacman extends Actor { public Pacman() { super(true, "sprites/pacman.gif", 2); } public void act() { move(); if (getNbCycles() % 20 == 0) turn(90); showNextSprite(); } } |
super("sprites/packman.gif", 2) | Die Anzahl der Sprites wird beim Erzeugen des Actors als Parameter angegeben. Steht im Pfad des Sprites packman.gif, so müssen die 2 Bilder als packman_0.gif und packman_1.gif im Verzeichnis sprites gespeichert werden |
showNextSprite() | Die beiden Sprites werden abwechselnd sichtbar |
Beispiel 2: Im Beispiel 2 werden dem Actor 3 verschiedene Sprites zugeordnet, die periodisch der Reihe nach angezeigt werden. Mit einem GameGrid mit der Zellengrösse 1 Pixel erreicht man fliessende Figurenbewegungen. Der Kopf bewegt sich unter gleichzeitiger Veränderung der Physionomie hin und her. |
![]() |
// JGameEx8.java import ch.aplu.jgamegrid.*; import java.awt.Color; public class JGameEx8 extends GameGrid { public JGameEx8() { super(600, 600, 1); setBgColor(Color.darkGray); addActor(new Head(), new Location(136, 200)); show(); } public static void main(String[] args) { new JGameEx8(); } } // ------------ class Head ----------------------- class Head extends Actor { private double dir = 30; public Head() { super("sprites/head.gif", 3); setDirection(dir); } public void act() { showNextSprite(); if (getX() > 450) { setDirection(180 + dir); } if (getX() < 138) { setDirection(dir); } move(); } } |
super("sprites/head.gif", 3) | Im Verzeichnis sprites müssen die 3 Bilder head_0.gif, head_1.gif und head_2.gif gespeichert sein |
showNextSprite() | Vereinfachte Form zum Durchlaufen der Sprites |
Dieses Prprogram verwendet Sprites aus der Programmcodedistribution zum Buch "Brackeen, Developing Games in Java".