Ich erstelle ein Breakout-Spiel und ich versuche, die Brick-Klasse zu erstellen, die ein Bild von einem Ziegelstein Schicht für Schicht anzeigt. Aber mein Code kompiliert, aber nichts zeigt sich.Wie Bilder Schicht für Schicht in Java anzeigen
Das ist was ich bisher habe.
Hauptklasse:
public class Breakout extends Applet implements Runnable{
Thread thread = new Thread(this);
boolean running = true;
Brick b;
Image dbImage;
Graphics dbg;
public void init(){
setSize(800,600);
b = new Brick();
}
public void start(){
thread.start();
}
public void destroy(){
running = false;
}
public void stop(){
running = false;
}
public void run(){
while(running){
b.update(this);
repaint();
try{
thread.sleep(20);
}
catch (InterruptedException e){
System.out.println("AN ERROR HAS OCCURED");
}
}
}
public void update(Graphics g){
dbImage = createImage(getWidth(),getHeight());
dbg = dbImage.getGraphics();
paint(dbg);
g.drawImage(dbImage,0,0,this);
}
public void paint(Graphics g){
b.paint(g,this);
}
}
Dies ist die Ziegel-Klasse:
public class Brick {
private URL url;
private Image brick;
Image [][] bricks = new Image[50][3];
public void brick (Breakout bR){
url = bR.getDocumentBase();
brick = bR.getImage(url,"brick.png");
for(int i =0; i < bricks.length; i++)
for(int j = 0; j < bricks[0].length; j++)
bricks[i][j] = brick;
}
public void update(Breakout bR){
}
public void paint(Graphics g, Breakout bR){
int imageWidth = bricks[0][0].getWidth(bR);
int imageHeight = bricks[0][0].getHeight(bR);
for (int i = 0; i < bricks.length; i++)
for (int j =0; j < bricks[0].length; j++)
g.drawImage(bricks[i][j], i * imageWidth + 5, j * imageHeight + 5, bR);
}
}
Vielen Dank für Ihre Hilfe.
Applets eine main-Methode nicht brauchen – Joni