我刚刚上学开始使用Visual Basic,课程进展非常缓慢,而且我学不太多,所以我试图继续前进并做一些实验。 我正在尝试制作Cookie Clicker的克隆游戏,我需要让每秒点击量工作 我尝试使用内置的计时器并在代码中执行一个简单的添加语句,但很快就意识到内置计时器仅在单独使用时才有效。我在运行游戏时无法让它在后台运行。
我尝试使用system.threading.thread.timer,但不是很成功,因为我是VB的新手。这是我目前的代码
Public Class window
Dim varcookies As Integer = 0
Dim varcps As Decimal = 0
Dim varclickercost As Decimal = 10
Dim varclicker As Integer = 0
Private Sub Cookie_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cookie.Click
varcookies = varcookies + 1
Me.CookiesVal.Text = varcookies
End Sub
Private Sub window_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.CPSVal.Text = varcps
Me.CookiesVal.Text = varcps
Me.btnclicker.Text = varclickercost
Me.clock.Enabled = True
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnclicker.Click
If varcookies >= varclickercost Then
varcookies = varcookies - varclickercost
varcps = varcps + 0.5
varclicker = varclicker + 1
varclickercost = varclickercost * 1.5
Me.Clickers.Text = varclicker
Me.btnclicker.Text = varclickercost
Me.CookiesVal.Text = varcookies
Me.CPSVal.Text = varcps
End If
End Sub
End Class
任何帮助都会受到赞赏,以使计时器线程正常工作。
在此之前,这不是功课,我只是为了好玩而这样做。在课堂上,我们正在探索广泛的文本框。
谢谢:)
答案 0 :(得分:1)
以下是计时器的工作原理:
例如,您可以将间隔设置为1000毫秒,然后每秒写一次您想要执行的代码并将其放在timer.click处理程序中。
与计时器的常见错误是:
您需要使用timer.enabled或timer.start启动它。
您可能需要在tick处理程序中重置计时器,具体取决于计时器和属性设置的类型。 (有定时器控件,system.timers.timer和system.threading.timer,每个都有一点不同。)
您可能需要在tick处理程序中暂时禁用它,以确保它不会重新进入处理程序并导致问题。
更多信息:https://msdn.microsoft.com/en-us/library/system.timers.timer%28v=vs.110%29.aspx