使用Corona SDK创建具有不同HP值的生命值条。

我有一个矩形图像,用作血条填充。随着您的健康状况下降,条形的宽度减小,直到为0。在代码的这部分中,一切正常,条的宽度减小,而它的宽度正在改变时保持在相同的x位置上。

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

--创建健康条
MonsterBar = display.newRect(20,160,26,10)
MonsterBar:setReferencePoint(display.BottomLeftReferencePoint)
MonsterBar:setFillColor(80,150,0)

--怪物受到攻击
MonsterBar.width = MonsterBar.width - scoreHUD.text
MonsterBar:setReferencePoint(display.BottomLeftReferencePoint) 
点赞
用户2895078
用户2895078

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

例如,计算怪物健康百分比,确保 HP 当前值<= HP 最大值:

local nMonsterHPPercentile = (nMonsterHPCurrent / nMonsterHPMax) * 100

一旦你有了百分位值,将矩形调整为使用最大尺寸为 "100"(例如 200、300 等,但是需要将怪物百分位乘以)并根据计算出的百分比显示个别矩形...

例如,如果你得到了 nMonsterHPPercentile 的62%,并且矩形的宽度是100,请执行循环,为每个10%向条形添加一个单独的 HP 矩形。

2014-04-24 15:31:15