0
我想打個比分反超,但是當我使用計時器,它的方式太慢獲得高價值和它的最大間隔爲1。參考代碼:請在vb.net一個比分反超
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
y = y + 2
ShowScore()
If y = Game2048.ScoreLabel.Text Then
Label18.Hide()
Label19.Show()
Timer1.Stop()
Timer2.Start()
End If
End Sub
正如你所看到的,如果Game2048.ScoreLabel.Text的值是60,000,並且Timer1間隔是1,則需要10分鐘以上才能達到60,000。所以我想知道是否有一種方法可以在計數分數時減少達到60,000的時間,這與在幾場比賽中能夠在僅僅10秒內計數得分的能力相同,當得分更高時,它增加的數量會更大。任何人都可以幫助我?謝謝!
* 60,000的值可能會改變!
您可以增加每個Tick事件添加到樂譜的點數或減少每個tick事件之間的時間間隔。 –
假設你不想加速定時器,最快和最簡單的解決方案只是將'y'值增加一個「ScoreLabel」值的百分比:'y = y + Integer.Parse(Game2048.ScoreLabel .Text)* 0.10' –
您不會得到1毫秒的時間間隔。最小的實際值是15,實際的蜱發生在15.625毫秒。使用時鐘測量實際使用時間,在啓動計時器時存儲DateTime.UtcNow。實際的定時器時間間隔並不重要,只需使其足夠小以使更新看起來平滑即可。 45就夠了。 –