因此,我正在学习visual basic,并且试图制作一个移动椭圆形的计时器,并检查是否触及任何其他椭圆形,它会将一个整数。所以我有这个代码,这有效,但我想知道如果我可以缩短它。如果你可以解释你的代码,因为我很新,这将是伟大的!提前致谢!如何检查椭圆形是否触及任何其他椭圆形VB
Private Sub Timer4_Tick(sender As System.Object, e As System.EventArgs) Handles Timer4.Tick, Timer4.Tick
Dim Pos As Integer
If bb.Bounds.IntersectsWith(OvalShape1.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape2.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape3.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape4.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape5.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape6.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape7.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape8.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape9.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape10.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape11.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape12.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape13.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape14.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape15.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape16.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape17.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape18.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape19.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape20.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape21.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape22.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape23.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape24.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape25.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape26.Bounds) Then
Pos = -20
Else
Pos = 20
End If
bb.Top -= Pos
End Sub
缩短它的一种可能的方法是将所有的OvalShapes放入数组或List中并使用循环。 –
编程提示:*从不*复制和粘贴代码。把它放在一个函数或变量中。 – buffjape