Project1

标题: 脚本contents框x轴长度显示不正常 [打印本页]

作者: 774204155    时间: 2021-4-26 08:40
标题: 脚本contents框x轴长度显示不正常
本帖最后由 774204155 于 2021-4-26 09:27 编辑

想通过控制contents的X轴大小来呈现出血量减少时的血条变化效果

RUBY 代码复制
  1. @X = @hp_a
  2. self.contents.blt(110,5 , bitmap5, Rect.new(0, 0, @X, 21))


这是把它的X轴大小设置为角色血量,这种状况下血条会如实地减少


血槽的长度我设置为300,角色的血量是100,此时如果角色受伤血条是会减少的
但是血条在满血的时候并没有填满血槽 于是

RUBY 代码复制
  1. @X = @hp_a / @maxhp_a
  2. self.contents.blt(110,5 , bitmap5, Rect.new(0, 0, @X*300, 21))


写成了以上这样

X是角色的生命百分比
contents的x长度就是300乘以这个百分比
结果满血的时候血条正常地充满血槽



但一旦扣血血条直接消失




琢磨了半天,实在是百思不得其解
还请大佬们不吝赐教


======221/4/26/9:25======

摸索着自己解决了。。。写成这样就正常运行了
  1. self.contents.blt(110,5 , bitmap5, Rect.new(0, 0, 300*@hp_a/@maxhp_a, 21))
复制代码


但还是想知道之前为什么不能正常运行

未标题-4.jpg (35.58 KB, 下载次数: 8)

未标题-4.jpg

作者: 灯笼菜刀王    时间: 2021-4-26 08:40
本帖最后由 灯笼菜刀王 于 2021-4-26 09:33 编辑

因为 整数相除只能得到整数  100 / 100 #=> 1 ; 50 / 100 #=> 0

改成浮点数就没问题了  @X = @hp_a.to_f / @maxhp_a




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1