我需要一个健康栏根据角色的剩余HP减少。但是我不会 知道如何做到这一点,因为我的游戏加载图像的方式
ImageIcon ii = new ImageIcon("Textures/Health/Health100.png");
healthBar = ii.getImage();
我需要将其更改为使用当前生命值字符替换“Health100.png”中的100。 但我不认为我可以用变量替换100,所以我不知道该怎么做。
提前感谢您的帮助。
答案 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];
但正如其他杰夫建议的那样,你可能最好不要使用图片(除非你的健康栏很花哨)