Этот вопрос не "весь экран мерцает" тип вопроса.Специфические объекты мерцают при перекраске
Я пытаюсь понять Java графику и сделал простую игру, но когда сцена перерисовывается с новыми объектами, некоторые объекты постоянно мерцает, odlyне весь экран.
Вот мой render()
метод:
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();
}
Что может возможно вызвать эту проблему? Я не думаю, что количество пузырей вызывает эту проблему.
Если вы хотите, чтобы проверить, что это проект почтовый file и это .jar file
Я не вижу ничего плохого в коде. Обычно, когда экран мерцает в приложении awt/swing, это связано с тем, что кто-то использовал SwingUtilities.InvokeLater(), поэтому только часть страницы перерисовывается во время этого события перерисовки, а другие части позже. Затем следующий шаг - проверить, что холст дважды буферизирован, после этого у меня нет идей. –