原生Java中的2D游戏图形:Canvas vs. JComponent

时间:2018-07-03 12:29:12

标签: java swing canvas graphics graphics2d

显然,在Java中有多种绘制游戏图形的方法。所有这些似乎都是合理的,但我无法确定哪种方法是速度/效率方面的“最佳”方法:

使用Canvas类(I):

  • 游戏是Canvas的一个实例或包含一个
  • 操纵表示每个像素颜色的int数组
  • This是此方法的示例。

使用画布类(II):

  • 游戏是Canvas的一个实例或包含一个
  • 图形/ G2D对象用于在画布上绘制
  • 休息类似于第一种方法

使用JLabel的paintComponent()方法(我该怎么做):

  • 游戏是JLabel(或任何其他合适的类)的实例或包含一个实例。
  • repaint()被称为每一帧
  • 图形/ G2D绘制方法用于在BufferedImage上绘制JComponent或几何形状

其中哪一条是可行的方式?还是选择取决于我要做什么?

编辑:我说的是基于图块的自上而下游戏。以撒的结合就是一个很好的例子。此外,我不想使用LWJGL / JOGL,因为我感觉自己没有足够的游戏编程经验来学习任何高级图形API。也许将来我会研究LWJGL,但就目前而言,本机Java必须解决这个问题。

0 个答案:

没有答案