Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VB.Net中创建计时器倒计时?_Vb.net_Timer_Countdown - Fatal编程技术网

在VB.Net中创建计时器倒计时?

在VB.Net中创建计时器倒计时?,vb.net,timer,countdown,Vb.net,Timer,Countdown,我正在创建一个小游戏,当用户点击一个按钮时,它会“攻击”怪物,使其失去5点生命,并用进度条显示。然后同时怪物也攻击使玩家失去生命。但问题是这些事件发生在同一时间,我希望两个事件之间有2秒的间隔。从今天早上开始,我一直在尝试让计时器事件工作,但它就是不工作。这是我的代码 Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tic

我正在创建一个小游戏,当用户点击一个按钮时,它会“攻击”怪物,使其失去5点生命,并用进度条显示。然后同时怪物也攻击使玩家失去生命。但问题是这些事件发生在同一时间,我希望两个事件之间有2秒的间隔。从今天早上开始,我一直在尝试让计时器事件工作,但它就是不工作。这是我的代码

   Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)           Handles Timer1.Tick

    If Tick = 0 Then
        Timer1.Stop()
        Timer1.Enabled = False
    Else
        Tick -= 1
    End If

End Sub
这是攻击按钮事件

    Private Sub btnAttack_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAttack.Click
    PlayerAttacks(mhealth, attack)
    textShiftUp(numlines)
    HPBarsAlter(mhealth, health)
    Tick = 2
    Timer1.Start()

    MonsterAttacks(health, mattack, CritRate)
    HPBarsAlter(mhealth, health)
    MobDeath(mhealth, MobNumber)

    Timer1.Stop()

End Sub

如果您需要更多信息,请告诉我谢谢:)

基本上,将怪物攻击移动到计时器

Private Sub btnAttack_Click(...)
    btnAttack.Enabled = False              ' disable more attacks

    PlayerAttacks(mhealth, attack)
    textShiftUp(numlines)
    HPBarsAlter(mhealth, health)

    MonsterTimer.Interval = 2000
    MonsterTimer.Start()
End Sub


Private Sub MonsterTimer_Tick(...
    ' not sure what the old code was doing

     MonsterTimer.Stop           ' stop the attacks

     MonsterAttacks(health, mattack, CritRate)
     HPBarsAlter(mhealth, health)
     MobDeath(mhealth, MobNumber)

     btnAttack.Enabled = True              ' allow more attacks

End Sub
编辑
添加了两行代码来切换等待时的攻击能力。

hmm这似乎不起作用,我粘贴了所有这些,但当我单击按钮时,它只会让玩家攻击,然后什么也没有发生,怪物没有反应。nvm感谢这起作用,我意外地做了公共时间1_Tick()并留下了空白的刹车哈哈。谢谢你,我只是想补充一点,一个直接的副本可能需要一些编辑的名称…点击检查,如果这有助于做更多的事情,当我按下攻击,它等待2秒,然后怪物攻击对吗?但在这2秒钟内,用户可以通过垃圾邮件发送攻击按钮,导致MMM在2秒钟内自由攻击。“感谢按钮”在哪里添加了两行来切换攻击…在上面的答案旁边应该有一个检查的大纲。单击它以接受答案并将其从未答复列表中删除(它将变为绿色)