我有代碼,使11個圓形對象的列表,並將它們繪製到VB窗體中的圖片框。他們應該穿過它,當他們到達最後,重新開始。 圓圈填充正確,並按照它們應有的移動,但兩個週期後,一旦它們到達末端,它們消失,不會重置爲開始。這是我目前使用的代碼。繪製的物體在設定時間後消失。 VB
Public Class frmContent
Private chocolatemark As New List(Of circlemark)
Public Sub frmContent_Load(sender As Object, e As EventArgs) Handles MyBase.Load
For i As Integer = 0 To 10
chocolatemark.Add(New circlemark(Rnd() * 630 + 1, Rnd() * 220 + 140))
Next
End Sub
Private Sub rndGen_Tick(sender As Object, e As EventArgs) Handles rndGen.Tick
picturebox.Invalidate()
End Sub
Private Sub picturebox_Paint(sender As Object, e As PaintEventArgs) Handles picturebox.Paint
For i As Integer = 0 To 10
chocolatemark(i).update()
chocolatemark(i).draw(e)
Next
End Sub
End Class
Public Class circlemark
Private pos As Point = New Point(0, 0)
Sub New(ByVal x As Double, ByVal y As Double)
pos.X = x
pos.Y = y
End Sub
Public Sub draw(ByRef e As PaintEventArgs)
e.Graphics.DrawEllipse(Pens.Red, pos.X, pos.Y, 5, 5)
End Sub
Public Sub update()
If pos.X < 640 Then
pos.X += globalvalue.speed
End If
If pos.X > 640 Then
pos.X = 0
End If
End Sub
End Class
Public Class globalvalue
Public Shared speed As Integer = 5
End Class
有沒有人知道爲什麼會發生這種情況?
您是否調試過並遵循代碼並查看發生了什麼? – OneFineDay 2014-09-19 17:51:55
我會在'Rnd'函數上使用'Random'類。 – OneFineDay 2014-09-19 17:53:17
當消失發生時,我在調試模式下運行它。沒有錯誤彈出。 最好使用隨機? – CMacDady 2014-09-19 18:16:55