我需要一个健康条来根据角色的剩余 HP 递减。但是我不知道该怎么做,因为我的游戏加载图像的方式
ImageIcon ii = new ImageIcon("Textures/Health/Health100.png");
healthBar = ii.getImage();
我需要将其更改为将“Health100.png”中的 100 替换为当前健康的字符。但我认为我不能用变量替换 100,所以我不知道该怎么做。
提前感谢您的帮助。
您可以创建一个正确尺寸(宽度/高度)的 BufferedImage 实例并直接绘制到它的 Graphics 对象使用 Java2D API。您可以在角色的健康变化时刷新图像,而无需依赖物理图像文件。
你不能简单地将健康连接到字符串中吗?例如
int health = 100; // change this variable as appropriate
ImageIcon ii = new ImageIcon("Textures/Health/Health" + health + ".png");
您可以预加载图像,这将比随着健康状况波动而重新加载图像更好。
当你加载你的游戏
for (int i = 0; i < 100; ++i)
healthImg[i] = new ImageIcon("Textures/Health/Health" + health + ".png");
然后在你的游戏循环中
healthBar = healthImg[health];
但正如另一个 Jeff 建议的那样,你最好不要使用图像(除非你的健康栏非常漂亮)