更新生命条进度

Updating health bar progress

本文关键字:生命 更新      更新时间:2023-09-26

我有一个游戏,我有2个变量一个为船体,一个为盾。到目前为止,我有栏的更新如下:102/1000

我要做的是在文本下面在画布上增加/减少视觉栏。我希望它是每10个船体1个像素,所以1000个船体(最大)将是100%。

我应该使用子字符串吗?

不管怎样,我知道如何在画布上画画,我只是想找出最好的方法来做到这一点?在我刷新和更新栏之前,我会添加一个if语句,这是我到目前为止所拥有的,我只是想知道我应该这样做吗?还是应该把数字四舍五入更准确?

if(Player1.PlayerShield == 1000)
{
   //colour full shield bar, take out last number
}

if(Player1.PlayerHull == 1000)
{
   //colour full hull bar, take out last number
}

if(Player1.PlayerShield == 3 digits)
{
  //take out last variable and draw, so 157 would draw 15%
}
else if(Player1.PlayerShield == 2 digits)
{
    //take out last variable and draw, so 17 would draw 10%
}
else if(Player1.PlayerShield == 1 digits)
{
  dont make any changes
}
else
{
draw fully transparent
}

if(Player1.PlayerHull == 3 digits)
{
  //same as shield
}
else if(Player1.PlayerHull == 2 digits)
{
   //same as shield
}
else if(Player1.PlayerHull == 1 digits)
{
  //same as shield
}
else
{
draw fully transparent
}

如果你的生命值栏是150px, maxHealth是300,当前生命值是150。除以300/150 = 2,绘制条形图150/2 = 75px。所以,如果你的生命值是100,300/100 = 3,绘制150/3 = 50px