Java 向角色添加健康栏

Java 向角色添加健康栏,java,image,Java,Image,我需要一个生命值条来根据角色的剩余生命值递减。但我不会 知道怎么做,因为我的游戏加载图像的方式 ImageIcon ii = new ImageIcon("Textures/Health/Health100.png"); healthBar = ii.getImage(); 我需要将其更改为将“Health100.png”中的100替换为字符current health。 但是我不认为我可以用一个变量来代替100,所以我不知道怎么做 提前感谢您的帮助。您不能简单地将运行状况连接到字符串中吗?e

我需要一个生命值条来根据角色的剩余生命值递减。但我不会 知道怎么做,因为我的游戏加载图像的方式

ImageIcon ii = new ImageIcon("Textures/Health/Health100.png");
healthBar = ii.getImage();
我需要将其更改为将“Health100.png”中的100替换为字符current health。 但是我不认为我可以用一个变量来代替100,所以我不知道怎么做


提前感谢您的帮助。

您不能简单地将运行状况连接到字符串中吗?e、 g

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

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

您可以预加载图像,这比在健康状况波动时重新加载图像要好

当你加载游戏时

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

但正如另一位Jeff所建议的,最好不要使用图像(除非您的健康栏非常花哨)

您可以为每个健康级别创建一个图像,并用相应的图像替换当前图像1。不需要时不要使用
ImageIcon
。。。您想要的可以通过
Toolkit.getImage
实现。2.您可以使用类似于
Toolkit.getDefaultToolkit().getImage(“纹理/健康/健康”+currentHealth+“.png”)
的方法,也可以将图像预加载到数组中,并在需要时引用相应的图像,这将是100个不同的if语句。我有一个纹理的每个健康状态栏。你从100健康开始。我想避免这样做,所以我确定没有其他办法。@LoganStiltner 100不同的
如果
?谁说的?
 healthBar = healthImg[health];