我应该用什么来显示游戏图形?

Wil*_*ill 8 java graphics

我有一个游戏系统但我不知道应该用它来显示它.我正在制作一个垂直射击游戏,我已经为所有控制敌人和玩家的课程编写了方法,但我不知道如何有效地展示游戏.我在想Canvas,它会重绘每一帧,但这真的是最有效的方法吗?

重要细节:

  1. 理想帧率:25fps
  2. 这是一场2D游戏
  3. 屏幕上任何时候都有25到100个对象,所有这些对象都在移动
  4. 显示的所有对象都是图像,均为PNG格式
  5. 窗口是640px×480px
  6. 现在所有的图像都被加载为BufferedImage,虽然我可以很容易地改变它

我需要一个坐标平面.如果不完全重构我的代码,这是唯一无法改变的基本部分.

最重要的是我拥有的一切设置方式,每帧的所有对象的移动,并在一个坐标平面上我设计的互动(带冲突检测和运动,没有图形组件的交易),那么一切都应该得到画到屏幕上,只需要去通过ArrayLists跟踪所有移动的对象并逐个绘制它们.

tra*_*god 4

如果 Swing 可以接受,则JPanel默认情况下是双缓冲的,并且javax.swing.Timer周期为 40 毫秒的更新将为您提供约 25 Hz 的更新。此示例显示了基本方法,同时此示例显示了许多运动图像。

我需要一个坐标平面。

模型和视图使用不同的坐标并不罕见;所需要的只是将一个系统映射到另一个系统的功能。在这个游戏中,视图依赖于四种将图块映射到像素的方法,反之亦然。此处针对地图图块概述了相同的方法。