在运行一个血条代码的时候出血了一点问题
def__init__(self):
self.hp = 玩家当前生命值
self.max_hp = 玩家最大生命值
self.hpAni = self.hp/self.max_hp
def HP_Bar(self):
if 玩家当前生命值 != self.hp or 玩家最大生命值 != self.max_hp: # 最大生命值或当前生命值改变时触发
self.hp = 玩家当前生命值
self.max_hp = 玩家最大生命值
self.hpPercent = float(self.hp) / float(self.max_hp) # 当前血量百分比
if self.hpAni > self.hpPercent:
self.hpAni -= 0.01
self.GetBaseUIControl(self.hp_bar).asProgressBar().SetValue(self.hpAni)
elif self.hpAni < self.hpPercent:
self.hpAni += 0.01
self.GetBaseUIControl(self.hp_bar).asProgressBar().SetValue(self.hpAni)
这是一个一秒执行30次的函数,一直就是动态刷新血条
可是不知道为什么后面两个if,elif会不断跳入
造成血条+0.01 -0.01
当我把elif改成if就正常了
请问有知道为什么的吗