将atan2限制在特定角度范围内

将atan2限制在特定角度范围内,atan2,Atan2,我希望我的播放器精灵按照鼠标光标的位置旋转。 我正在使用atan2为我的玩家精灵设置360度旋转动作脚本 atan2(XMouse-XPlayer,YMouse-YPlayer) - 90 使用这个,90度是垂直向上,0度是直接向右,270度是垂直向下。我需要玩家精灵坐在屏幕的左侧,旋转时只面向屏幕的右侧(这意味着它不能向后看) 我需要将我的角度限制在两种情况下;小于90度或大于270度 理想情况下,我希望将0度设置为“笔直向上”,然后只需将条件设置为小于180度的角度(一个条件而不是两个条件

我希望我的播放器精灵按照鼠标光标的位置旋转。
我正在使用atan2为我的玩家精灵设置360度旋转动作脚本

atan2(XMouse-XPlayer,YMouse-YPlayer) - 90
使用这个,90度是垂直向上,0度是直接向右,270度是垂直向下。我需要玩家精灵坐在屏幕的左侧,旋转时只面向屏幕的右侧(这意味着它不能向后看)

我需要将我的角度限制在两种情况下;小于90度或大于270度

理想情况下,我希望将0度设置为“笔直向上”,然后只需将条件设置为小于180度的角度(一个条件而不是两个条件)


可以吗?

可以。使用
min()
max()
(虽然您没有说您使用的是哪种语言…

如果使用弧度,则要检查的条件是
abs(θ)
始终为真。这里有一张来自维基百科的图片,只是想告诉你我的意思。

以使0度直线上升,并从0度顺时针移动到360度

使用以下公式:

f(x,y)=180-90*(1+符号(y))*(1-符号(x^2))-45*(2+符号(y))*符号(x)

    -180/pi()*sign(x*y)*atan((abs(y)-abs(x))/(abs(y)+abs(x)))