Здравствуйте, я пишу небольшую игру, и она почти закончена, единственное, что не работает, это ImageBuffer. Каждые 10 миллисекунд я вызываю метод repaint (). Мой метод paint () выглядит следующим образом:
private Graphics2D g2D;
public void paint (Graphics g) {
BufferedImage bimage = ((Graphics2D)g).getDeviceConfiguration().createCompatibleImage(700, 600, Transparency.OPAQUE);
g2D = bimage.createGraphics();
g2D.setFont(font);
for(Wall wall: walls){
wall.paint(g2D);
}
g2D.setColor(Color.orange);
paddle.paint(g2D);
g2D.drawString(score + "", 150,50);
g2D.drawString("record: "+topscore , 350,50);
g2D.setColor(Color.red);
ball.paint(g2D);
g.drawImage(bimage,0,0,this);
}
Но это не устраняет мерцание. Я думаю, что экран как-то очищается до того, как изображение с буферизацией начинает рисоваться.
Может ли кто-нибудь помочь мне с решением этой проблемы?
спасибо!