2D-графика игры на нативном Java: Canvas vs. JComponent - PullRequest
0 голосов
/ 03 июля 2018

По-видимому, существует множество способов рисования игровой графики на Java. Все они кажутся разумными, но я не могу определить, какой путь является «лучшим» с точки зрения скорости / эффективности:

Использование класса Canvas (I):

  • Игра является экземпляром Canvas или содержит один
  • Манипулировать массивом int, представляющим цвета каждого пикселя
  • Этот является примером для этого метода.

Использование класса canvas (II):

  • Игра является экземпляром Canvas или содержит один
  • Графика / G2D объект используется для рисования на холсте
  • Отдых похож на первый подход

Использование метода paintComponent () в JLabel (как я это сделаю):

  • Игра является экземпляром JLabel (или любого другого подходящего класса) или содержит один
  • repaint() вызывается каждый кадр
  • Графика / G2D методы рисования используются для рисования BufferedImage с или геометрических фигур на JComponent

Какой из них, если таковые имеются, путь? Или выбор зависит от того, что я хочу сделать?

РЕДАКТИРОВАТЬ: я говорю об основанной на плитке игре сверху вниз. Привязка Исаака - хороший пример. Кроме того, я не хочу использовать LWJGL / JOGL, потому что чувствую, что у меня недостаточно опыта в самом программировании игр, чтобы дополнительно изучить какой-либо продвинутый графический API. Может быть, я посмотрю в LWJGL в будущем, но сейчас нативная Java должна сделать свое дело.

...