この質問は「全画面が点滅していません」という質問のタイプです。再描画時に特定のオブジェクトがちらつく
私は画面全体をJavaグラフィックスを理解しようとすると、簡単なゲームを作ったが、シーンは、新しいオブジェクトと再描画されると、いくつかのオブジェクトがちらつく続け、odlyておりません。おそらく、この問題が発生する可能性がありますどのような
private BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
private void render() {
BufferStrategy bs = this.getBufferStrategy();
if(bs == null){
createBufferStrategy(6);
return;
}
Graphics g = bs.getDrawGraphics();
Graphics2D g2d = (Graphics2D)g;
//fill screen with black background
g.drawImage(image, 0, 0, getWidth(), getHeight(), null);
//draw cool stuff
try {
for (int i = 0; i < Element.elements.size(); i++) {
Element.elements.get(i).render(g2d);
}
} catch (Exception e) {
System.err.println("No such element to render");
}
//dispose graphics
g.dispose();
g2d.dispose();
bs.show();
}
:ここ
は私render()
方法ですか?私は気泡の量がこの問題を引き起こすとは思わない。
あなたがチェックアウトしたい場合は、このプロジェクトのzip fileで、 これはマウス移動のイベントスレッドで行われているの.jar file
コードに間違いはありません。通常、awt/swingアプリケーションで画面がちらつくときは、SwingUtilities.InvokeLater()を使用していたものがあるため、このペイント中にページの一部だけが再描画され、後で他の部分が再描画されるためです。次に、キャンバスがダブルバッファされていることを確認した後、私はアイデアがありません。 –