Dim XEnd, YEnd As Integer
Dim ShapeSpeedX, ShapeSpeedY As Integer 'X Y 移動值可配合方向指標做 ShapeSpeedX=-ShapeSpeedX 變化
Dim OverX, OverY As Boolean
'Dim Direction(1 To 4) As Boolean '方向指標: **請配合障礙判斷式使用**
'**請加上遇到障礙時的判斷式**
If Not OverX Then
NewPosX = Shape1.Left + ShapeSpeedX '新的位址
If ShapeSpeedX > 0 Then If NewPosX >= XEnd Then OverX = True '水平移動終止條件
If Not OverX Then Shape1.Left = NewPosX '移動
If ShapeSpeedX < 0 Then If NewPosX <= XEnd Then OverX = True '水平移動終止條件
'畫出水平移動軌跡
Line (XOld, Shape1.Top + Shape1.Height / 2)-(Shape1.Left + Shape1.Width / 2, Shape1.Top + Shape1.Height / 2)
Exit Sub '**請配合障礙判斷式修改**
End If
'**請加上遇到障礙時的判斷式**
If Not OverY Then
NewPosY = Shape1.Top + ShapeSpeedY '新的位址
If ShapeSpeedY > 0 Then If NewPosY >= YEnd Then OverY = True '垂直移動終止條件
If Not OverY Then Shape1.Top = NewPosY '移動
If ShapeSpeedY < 0 Then If NewPosY <= YEnd Then OverY = True '垂直移動終止條件
'畫出垂直移動軌跡
Line (Shape1.Left + Shape1.Width / 2, YOld)-(Shape1.Left + Shape1.Width / 2, Shape1.Top + Shape1.Height / 2)
Exit Sub '**請配合障礙判斷式修改**
End If