所以基本上我在我的 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);
关于为什么会发生这种情况的任何想法?