Быстрый вопрос по графике Java. Из всех уроков по графике, которые я видел, похоже, что при использовании Graphics2D весь холст перерисовывается. Я пытаюсь сделать игру, и мне интересно, есть ли способ рисовать только те части холста, которые должны обновляться в определенном цикле. Ребята, вы знаете, возможно ли это/нужно?
Java Graphics2D и блиттинг
Ответы (1)
Вы можете использовать repaint(x,y,w,h)
, чтобы обновить только часть компонента. Но, на самом деле, большинство java-игр реализуют какую-то внеэкранную прорисовку (т. Е. Они отображают всю сцену в растровое изображение) и периодически переворачивают это растровое изображение на экран.
Проблема со стандартным механизмом перерисовки Swing заключается в том, что у вас нет возможности точно контролировать, когда новый кадр рисуется (перерисовка приводит к перерисовке элемента управления "как можно скорее"...)
Вы можете посмотреть на
для получения дополнительной информации/идей по разработке java-игр.
person
MartinStettner
schedule
21.01.2010