本帖最后由 774204155 于 2021-4-26 09:27 编辑
想通过控制contents的X轴大小来呈现出血量减少时的血条变化效果
@X = @hp_a self.contents.blt(110,5 , bitmap5, Rect.new(0, 0, @X, 21))
@X = @hp_a
self.contents.blt(110,5 , bitmap5, Rect.new(0, 0, @X, 21))
这是把它的X轴大小设置为角色血量,这种状况下血条会如实地减少
血槽的长度我设置为300,角色的血量是100,此时如果角色受伤血条是会减少的
但是血条在满血的时候并没有填满血槽 于是
@X = @hp_a / @maxhp_a self.contents.blt(110,5 , bitmap5, Rect.new(0, 0, @X*300, 21))
@X = @hp_a / @maxhp_a
self.contents.blt(110,5 , bitmap5, Rect.new(0, 0, @X*300, 21))
写成了以上这样
X是角色的生命百分比
contents的x长度就是300乘以这个百分比
结果满血的时候血条正常地充满血槽
但一旦扣血血条直接消失
琢磨了半天,实在是百思不得其解
还请大佬们不吝赐教
======221/4/26/9:25======
摸索着自己解决了。。。写成这样就正常运行了
- self.contents.blt(110,5 , bitmap5, Rect.new(0, 0, 300*@hp_a/@maxhp_a, 21))
复制代码
但还是想知道之前为什么不能正常运行 |