我已经做到了所以我有一个进度条,这是玩家健康从100开始并随着时间的推移通过计时器下降。当玩家健康进度条变为0时,我想要一条消息说“你死了!游戏结束了。”
由于“Handles PlayerHealth.Click”位,只要进度条达到0,我就会点击它,而不是这样做。但是,如果进度条刚刚达到0而不必点击它,我该如何更改PlayerHealth.Click以使其成为消息框?
我在intellisense列表中找不到合适的东西。还是有更好的方法?
以下是有问题的代码:
Private Sub AttackButton_Click(sender As System.Object, e As System.EventArgs) Handles AttackButton.Click
PlayerHealthTimer.Start()
EnemyHealth.Increment(-2)
End Sub
Private Sub PlayerHealthTimer_Tick(sender As System.Object, e As System.EventArgs) Handles PlayerHealthTimer.Tick
PlayerHealth.Increment(-2)
End Sub
Private Sub PlayerHealth_Value(sender As System.Object, e As System.EventArgs) Handles PlayerHealth.Click
If PlayerHealth.Value = 0 Then
MsgBox("You died! Game over.")
End If
End Sub
忽略中间子。 谢谢!
答案 0 :(得分:2)
它会在点击时触发,因为你在处理点击方法的Sub中有MessageBox。
你可能真的想使用你说忽略的中间子:)。那一个处理每个滴答的逻辑。
Private Sub PlayerHealthTimer_Tick(sender As System.Object, e As System.EventArgs) Handles PlayerHealthTimer.Tick
PlayerHealth.Increment(-2)
if PlayerHealth.Value = 0 Then
MsgBox("You died! Game Over.")
''Then make sure to stop the timer
PlayerHealthTimer.Stop()
End If
End Sub
答案 1 :(得分:1)
你可以使用像
这样的条件if PlayerHealth.value<=0 then
'place a message box or other way to show info message
end if