2013-09-28 79 views
1

我正在创建一个迷你游戏,当使用点击一个按钮时,它会“攻击”怪物,导致它失去5马力,使用进度条显示。那么同时怪物也会攻击使得玩家失去HP。但问题是这些事件发生在同一时间,并且我希望事件之间有2秒的时间间隔。我一直试图让一个计时器事件,因为今天早上上班,但它只是难道不这里工作是我的代码创建定时器倒计时VB.Net?

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 

,请告诉我,如果你需要任何详细信息,谢谢:)

回答

0

基本上,移动你的怪物攻击定时器

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 

编辑 增加2行切换等待时攻击的能力。

+0

嗯这似乎没有工作,我粘贴所有,但当我点击按钮,它只会让玩家的攻击,然后什么也没有发生,怪物剂量反应。 – user2826539

+0

nvm感谢这工作,我意外地做了公共timer1_Tick()并离开制动器空lol。谢谢 – user2826539

+0

我只是想补充说,直接复制可能需要对名称进行一些编辑......点击检查是否有助于 – Plutonix