我有一个用于健康栏填充的矩形图像。当您的健康状况下降时,条形图的宽度会减小,直到达到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)
答案 0 :(得分:0)
您需要使用百分位中间值,然后可以在进度条中使用。
例如,计算这样的怪物健康百分比,确保HP Current <&lt; = HP Max:
local nMonsterHPPercentile = (nMonsterHPCurrent / nMonsterHPMax) * 100
一旦你有了百分位值,就可以调整你的矩形,例如最大尺寸为“100”(或200,300等,但你需要乘以怪物百分位)并根据计算显示各个矩形百分... 例如,如果nMonsterHPPercentile得到62%,并且矩形的宽度为100,那么为每个10%做一个循环,为条形添加一个单独的hp矩形。