Corona SDK - 使用不同的HP值创建健康栏

时间:2014-04-24 00:19:36

标签: android lua corona game-physics

我有一个用于健康栏填充的矩形图像。当您的健康状况下降时,条形图的宽度会减小,直到达到0.对于此部分代码,一切正常,条形图的宽度会下降,并且在宽度发生变化时它会保持在相同的x位置。

我的问题是当我创建具有不同HP值的怪物时,我将获得不同宽度的Health Bar。如何创建具有不同HP值的相同大小的矩形? 非常感谢你。

 -- Create Health Bar 
MonsterBar = display.newRect( 20, 160, 26, 10 )
MonsterBar:setReferencePoint(display.BottomLeftReferencePoint)
MonsterBar:setFillColor( 80,150, 0 )

-- Monster get hit

MonsterBar.width = MonsterBar.width - scoreHUD.text
MonsterBar:setReferencePoint(display.BottomLeftReferencePoint)

1 个答案:

答案 0 :(得分:0)

您需要使用百分位中间值,然后可以在进度条中使用。

例如,计算这样的怪物健康百分比,确保HP Current <&lt; = HP Max:

local nMonsterHPPercentile = (nMonsterHPCurrent / nMonsterHPMax) * 100

一旦你有了百分位值,就可以调整你的矩形,例如最大尺寸为“100”(或200,300等,但你需要乘以怪物百分位)并根据计算显示各个矩形百分... 例如,如果nMonsterHPPercentile得到62%,并且矩形的宽度为100,那么为每个10%做一个循环,为条形添加一个单独的hp矩形。