Java Graphics2D и блиттинг

Быстрый вопрос по графике Java. Из всех уроков по графике, которые я видел, похоже, что при использовании Graphics2D весь холст перерисовывается. Я пытаюсь сделать игру, и мне интересно, есть ли способ рисовать только те части холста, которые должны обновляться в определенном цикле. Ребята, вы знаете, возможно ли это/нужно?


person openidsucks    schedule 21.01.2010    source источник


Ответы (1)


Вы можете использовать repaint(x,y,w,h), чтобы обновить только часть компонента. Но, на самом деле, большинство java-игр реализуют какую-то внеэкранную прорисовку (т. Е. Они отображают всю сцену в растровое изображение) и периодически переворачивают это растровое изображение на экран.

Проблема со стандартным механизмом перерисовки Swing заключается в том, что у вас нет возможности точно контролировать, когда новый кадр рисуется (перерисовка приводит к перерисовке элемента управления "как можно скорее"...)

Вы можете посмотреть на

для получения дополнительной информации/идей по разработке java-игр.

person MartinStettner    schedule 21.01.2010