Project1

标题: 怎么实现自动回血也能把小数点保留 [打印本页]

作者: yang1zhi    时间: 2016-3-27 13:38
标题: 怎么实现自动回血也能把小数点保留
RUBY 代码复制
  1. #每秒恢复生命魔法HPMP
  2.         unless self.battler == nil
  3.           if Graphics.frame_count % 40 == 0
  4.           hp = self.battler.maxhp/100
  5.           if hp < 1
  6.           @hhp = 0  if @hhp == nil
  7.             @hhp += hp
  8.             end
  9.           sp = self.battler.maxsp/100
  10.           self.battler.hp+=hp
  11.           self.battler.sp+=sp
  12.           unless @hhp < 1 and @hhp == nil
  13.             @hhp -= (@hhp).to_i
  14.           end
  15.         end
  16.         end


我写了这么一段,可是只有当恢复的HP是整数,也就是至少是1的时候,才会恢复。
是小数点的时候并不能恢复,多久都不会恢复。
我就加了个HHP来存小数,当HHP整数了就恢复,然后HHP再取小数点。

作者: cinderelmini    时间: 2016-3-27 13:49
本帖最后由 cinderelmini 于 2016-3-27 23:37 编辑
  1. #每秒恢复生命魔法HPMP
  2.         if self.battler
  3.           @thp ||= 0.0
  4.           @tsp ||= 0.0
  5.           if Graphics.frame_count % 40 == 0
  6.             hp = self.battler.maxhp / 100.0
  7.             sp = self.battler.maxsp / 100.0
  8.             @thp += hp
  9.             @tsp += sp
  10.             if @thp.to_i > 1
  11.               self.battler.hp += @thp.to_i
  12.               @thp -= @thp.to_i
  13.             end
  14.             if @tsp.to_i > 1
  15.               self.battler.sp += @tsp.to_i
  16.               @tsp -= @tsp.to_i
  17.             end
  18.           end
  19.         end
复制代码
也许能成?




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