我正在使用Java制作游戏,需要在游戏板上绘制单位。我将所有单位放入列表中,并绘制该列表中的每个单位。绘图方法如下:
public void paint(Graphics g) {
super.paint(g);
if (unitList != null) {
Collections.sort(unitList);
for (Unit unit : unitList) {
Image image = unit.getImage();
g.drawImage(
image,
(int) (playPosition.x + unit.getPosition().getX() - image
.getWidth(null) / 2), (int) (playPosition.y
+ unit.getPosition().getY() - image
.getHeight(null) / 2), null);
}
}
}
我尝试创建了一个BufferStrategy,但是这只会让问题变得更糟,我猜我做错了什么。
谢谢。
Collections.sort(unitList);
引起的,没有人知道,所以在使用paintComponent
之前要做好准备。 - mKorbel