По-видимому, существует множество способов рисования игровой графики на Java. Все они кажутся разумными, но я не могу определить, какой путь является «лучшим» с точки зрения скорости / эффективности:
Использование класса Canvas (I):
- Игра является экземпляром
Canvas
или содержит один
- Манипулировать массивом
int
, представляющим цвета каждого пикселя
- Этот является примером для этого метода.
Использование класса canvas (II):
- Игра является экземпляром
Canvas
или содержит один
- Графика / G2D объект используется для рисования на холсте
- Отдых похож на первый подход
Использование метода paintComponent () в JLabel (как я это сделаю):
- Игра является экземпляром
JLabel
(или любого другого подходящего класса) или содержит один
repaint()
вызывается каждый кадр
- Графика / G2D методы рисования используются для рисования
BufferedImage
с или геометрических фигур на JComponent
Какой из них, если таковые имеются, путь? Или выбор зависит от того, что я хочу сделать?
РЕДАКТИРОВАТЬ: я говорю об основанной на плитке игре сверху вниз. Привязка Исаака - хороший пример. Кроме того, я не хочу использовать LWJGL / JOGL, потому что чувствую, что у меня недостаточно опыта в самом программировании игр, чтобы дополнительно изучить какой-либо продвинутый графический API. Может быть, я посмотрю в LWJGL в будущем, но сейчас нативная Java должна сделать свое дело.