0

我需要一个健康条来根据角色的剩余 HP 递减。但是我不知道该怎么做,因为我的游戏加载图像的方式

ImageIcon ii = new ImageIcon("Textures/Health/Health100.png");
healthBar = ii.getImage();

我需要将其更改为将“Health100.png”中的 100 替换为当前健康的字符。但我认为我不能用变量替换 100,所以我不知道该怎么做。

提前感谢您的帮助。

4

3 回答 3

5

您可以创建一个正确尺寸(宽度/高度)的 BufferedImage 实例并直接绘制到它的 Graphics 对象使用 Java2D API。您可以在角色的健康变化时刷新图像,而无需依赖物理图像文件。

于 2012-08-10T19:32:29.000 回答
3

你不能简单地将健康连接到字符串中吗?例如

int health = 100; // change this variable as appropriate
ImageIcon ii = new ImageIcon("Textures/Health/Health" + health + ".png");
于 2012-08-10T19:29:19.150 回答
3

您可以预加载图像,这将比随着健康状况波动而重新加载图像更好。

当你加载你的游戏

 for (int i = 0; i < 100; ++i)
   healthImg[i] = new ImageIcon("Textures/Health/Health" + health + ".png");

然后在你的游戏循环中

 healthBar = healthImg[health];

但正如另一个 Jeff 建议的那样,你最好不要使用图像(除非你的健康栏非常漂亮)

于 2012-08-10T19:33:46.560 回答