【发布时间】:2012-12-01 06:44:58
【问题描述】:
我正在用 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 ,但它只会让问题变得更糟,我猜我做错了什么。
谢谢
【问题讨论】:
-
覆盖paintComponent()而不是paint()
-
可能是
Collections.sort(unitList);引起的,没人知道,准备好之前使用paintComponent, -
@user1900750 这个问题无法回答,为了更好的帮助,请尽快发布SSCCE,简短,可运行,可编译
-
正如 mKorbel 所说,它很难回答这个问题,但是看看我的 anwser o mine 演示了 java 中的一些游戏循环/逻辑:stackoverflow.com/questions/13825515/…
-
对于example。