你好我正在寫一個小遊戲,它幾乎完成,唯一不起作用的是ImageBuffer。每10毫秒我稱之爲repaint()方法。我的paint()方法如下:BufferedImage閃爍的問題
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);
}
但是,這似乎並沒有消除閃爍。我認爲在bufferedimage開始繪製之前屏幕已被清除。 任何人都可以幫我解決這個問題嗎? 謝謝!
對不起,我的意思是JComponent :) – 2011-01-23 17:27:15