向角色添加健康栏

时间:2012-08-10 19:25:54

标签: java image

我需要一个健康栏根据角色的剩余HP减少。但是我不会 知道如何做到这一点,因为我的游戏加载图像的方式

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

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

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:5)

不是为每个健康增量设置一个Image,而是将所有这些图像加载到内存中(一次一个或作为查找列表),您可以创建一个正确尺寸(宽度/高度)的BufferedImage实例,使用Java2D API直接绘制到Graphics对象上。您可以在角色的健康状况发生变化时刷新图像,而无需依赖物理图像文件。

答案 1 :(得分:3)

你能不能简单地将健康状况连接到字符串中? e.g。

int health = 100; // change this variable as appropriate
ImageIcon ii = new ImageIcon("Textures/Health/Health" + health + ".png");

答案 2 :(得分:3)

您可以预先加载图像,这比在健康波动时重新加载图像更好。

加载游戏时

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

然后在你的游戏循环中

 healthBar = healthImg[health];

但正如其他杰夫建议的那样,你可能最好不要使用图片(除非你的健康栏很花哨)

相关问题