我正在使用以下代码检查我的健康状况是否超过允许的最大健康状况:
Public Sub healthCheck()
If Player.CurrentHealth > Player.MaxHealth Then
MsgBox(Player.CurrentHealth & "&" & Player.MaxHealth)
Player.CurrentHealth = Player.MaxHealth
MsgBox(Player.CurrentHealth & "&" & Player.MaxHealth)
ElseIf (0 > Player.CurrentHealth) Then
Player.CurrentHealth = 0
End If
End Sub
我添加了用于调试目的的消息框,它们输出以下字符串:
第一个消息框 = 8&20
第二个消息框 = 20&20
如果第一个告诉我
currenthealth = 8
和
maxhealth = 20
为什么它甚至进入 if 构造?据我所知,8不高于20
编辑:
这似乎只发生在 10 马力以下!所以在 10/20 时它不会进入 if 并且只是跳过 if 构造,但是在 9/20 时它会重置为 20/20(好像比较返回 true)