0

私はそれを作ったので、100 から始まり、タイマーを介して時間の経過とともに減少するプレーヤーの健康であるプログレス バーがあります。プレイヤーのヘルス プログレス バーが 0 になったときに、「死亡しました。ゲーム オーバーです」というメッセージが表示されるようにします。

それを行う代わりに、「Handles PlayerHealth.Click」ビットのために、進行状況バーが 0 に達したらすぐにクリックすると、それが行われます。しかし、PlayerHealth.Click をどのように変更すれば、プログレス バーが 0 になったときにメッセージ ボックスが表示され、クリックしなくても済むようになりますか?

インテリセンス リストに適切なものが見つかりません。それとももっと良い方法がありますか?

問題のコードは次のとおりです。

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

中間サブは無視してください。ありがとうございました!

4

2 に答える 2

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
于 2013-08-29T20:20:45.420 に答える