つまり、基本的には、C#XNAゲームで敵のヘルスバーを作成しています。残りのヘルスのパーセンテージを取得しているので、たとえば80/100 = 0.8 = 80%なので、ゲームはヘルスバーの緑色の部分を描画する大きさを認識しています。したがって、馬力が80%の場合、ヘルスバーは80%になります。私が抱えている問題は、ヘルスが100から下がるとすぐに、パーセンテージが自動的に0.0 / 0%に下がり、何も描画されないことです。これが私のコードです:
//calculate the width of the green portion of healbar
//zDay.Game1.hp_top.Width = Original size of image (35px)
float size = (hp/max_hp) * zDay.Game1.hp_top.Width;
//draw percentage of health
sb.DrawString(zDay.Game1.CourierNew, (hp/max_hp).ToString(), new Vector2(50, 80), Color.Black);
//draw size of green portion
sb.DrawString(zDay.Game1.CourierNew, (size).ToString(), new Vector2(50, 50), Color.Black);
//draw green portion of health bar
Rectangle bg = new Rectangle(x - 20, y - 30, (int)size, zDay.Game1.hp_top.Height);
sb.Draw(zDay.Game1.hp_top, bg, Color.White);
なぜこれが起こっているのかについてのアイデアはありますか?