0

キャラクターの残り HP に応じて減少するヘルス バーが必要です。ただし、ゲームが画像をロードする方法があるため、その方法はわかりません

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

「Health100.png」の100をキャラクターの現在の健康状態に置き換えるために変更する必要があります。しかし、100を変数に置き換えることはできないと思うので、その方法がわかりません。

助けてくれてありがとう。

4

3 に答える 3

5

ヘルス インクリメントごとに Image を用意し、それらすべてのイメージを (一度に 1 つずつ、またはルックアップ リストとして) メモリに読み込む代わりに、正しい寸法 (幅/高さ) の BufferedImage インスタンスを作成し、直接描画することができます。 Java2D API を使用してその Graphics オブジェクト。物理的な画像ファイルに依存する必要なく、キャラクターの健康状態が変化したときに画像を更新できます。

于 2012-08-10T19:32:29.000 に答える
3

健康状態が変動するため、画像をリロードするよりも優れた画像をプリロードできます。

ゲームをロードするとき

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

次に、ゲームループで

 healthBar = healthImg[health];

しかし、他のジェフが示唆したように、画像を使用しない方が良いかもしれません(ヘルスバーが非常に派手でない限り)

于 2012-08-10T19:33:46.560 に答える
3

健康を単純に文字列に連結することはできませんか? 例えば

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