Hallo,
ich versuche gerade die Idee des Double-Bufferings zu verstehen. Irgendetwas mache ich hier falsch. Das Problem ist, dass die Beispiele, die ich so gefunden habe, nicht mit einem Image sondern irgendwelchen Formen arbeiten.
Folgenden Code habe ich nun. Warum sehe ich keinen Effekt. Die Grafik, die ich verschieben möchte ist ca 700kb groß. Aus Performancegründen wollte ich auf dieses Verfahren zurückgreifen.
Was mache ich hier falsch?
ich versuche gerade die Idee des Double-Bufferings zu verstehen. Irgendetwas mache ich hier falsch. Das Problem ist, dass die Beispiele, die ich so gefunden habe, nicht mit einem Image sondern irgendwelchen Formen arbeiten.
Folgenden Code habe ich nun. Warum sehe ich keinen Effekt. Die Grafik, die ich verschieben möchte ist ca 700kb groß. Aus Performancegründen wollte ich auf dieses Verfahren zurückgreifen.
Code:
package Gui;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
public class GameGround extends JPanel {
String pic = "images/ground/world_map.png";
int gameGroundX = 0;
int gameGroundY = 0;
public GameGround(int x, int y) {
this.gameGroundX = x;
this.gameGroundY = y;
}
protected void paintComponent(Graphics g) {
g.drawImage(getImage(), this.gameGroundX, this.gameGroundY, this);
}
public void update(Graphics g) {
paint(g);
}
public Image getImage() {
Image img = Toolkit.getDefaultToolkit().getImage(pic);
return img;
}
public int getGameGroundX() {
return gameGroundX;
}
public int getGameGroundY() {
return gameGroundY;
}
public void setGameGroundX(int gameGroundX) {
this.gameGroundX = gameGroundX;
}
public void setGameGroundY(int gameGroundY) {
this.gameGroundY = gameGroundY;
}
}
Was mache ich hier falsch?