更新健康栏进度

时间:2013-06-10 08:51:01

标签: javascript canvas

我有一个游戏,我有两个变量一个用于赫尔,一个用于盾牌。截至目前,我的栏目更新如: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
}

1 个答案:

答案 0 :(得分:0)

如果您的健康栏有150px,maxHealth是300,当前健康状况是150.您将300/150 = 2和绘制栏150/2 = 75px除以。所以,如果您的健康状况是100,300 / 100 = 3,则绘制条150/3 = 50px