こんにちは私は小さなゲームを書いていて、ほぼ完成しています。唯一動作しないのは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);
}
しかし、これはちらつきを取り除くようには見えません。バッファリングされたイメージが描画される前に、何らかの形で画面がクリアされていると思います。 誰でもこの問題の解決に手伝ってもらえますか?感謝! ありがとう!
申し訳ありませんが、私はJComponentを意味しています:) –