Придумал функцию но она не всегда работает, может где ошибка?
- Код: Выделить всё
Private Function Angl() As Single
Dim M, O As Point
Dim X, Y, Z As Integer
Dim C As Single
O = New Point(Player.Location.X, Player.Location.Y)
M = New Point(Control.MousePosition.X, Control.MousePosition.Y)
X = M.X - O.X
Y = M.Y - O.Y
Z = Math.Sqrt(X ^ 2 + Y ^ 2)
If M.X >= O.Y And M.Y <= O.Y Then
C = 0
Angl = C - Math.Abs(Math.Asin(Y / Z))
ElseIf M.X <= O.X And M.Y <= O.Y Then
C = Math.PI
Angl = C - Math.Asin(Y / Z)
ElseIf M.X <= O.X And M.Y >= O.Y Then
C = Math.PI
Angl = C - Math.Asin(Y / Z)
ElseIf M.X >= O.X And M.Y >= O.Y Then
C = 0
Angl = C + Math.Abs(Math.Asin(Y / Z))
End If
End Function
Player.Location.X и Player.Location.Y Это координаты точки.