1

我希望我的玩家精灵跟随鼠标光标的位置旋转。
我正在使用 atan2 为我的 Player sprite 设置 360 度旋转动作脚本。

atan2(XMouse-XPlayer,YMouse-YPlayer) - 90

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

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

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

可以这样做吗?

4

3 回答 3

0

如果您使用弧度,则要检查的条件abs(theta) < PI/2是始终为真。这是来自维基百科的图片,只是为了向您展示我的意思。 在此处输入图像描述

于 2012-04-21T02:44:50.417 回答
0

是的。使用min()and max()(虽然你还没有说你正在使用什么语言......)

于 2012-03-31T13:32:38.973 回答
0

为了有 0 度直线向上和从 0 到 360 度顺时针运动

使用公式:

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

    -180/pi()*sign(x*y)*atan((abs(y)-abs(x))/(abs(y)+abs(x)))
于 2019-01-15T11:09:11.057 回答