1

我正在尝试通过设置起点和终点以及 X 帧来进行游戏对象的旋转。然后插入开始和结束角度来完成它。

它工作得很好,但我试图做最短的路线作为一种选择(而不是“做最长的路线”)。在大多数情况下它可以工作,但如果旋转超过 360 或低于 0,我不知道如何检测它并更改数字。(例如,如果我想走从 270 到 90 的最短路线,最短路线超过 360/0,所以从不使用,所以 270 应该变成 -45 以插入到 90)。我在解释方面很糟糕,而且我不是以英语为母语的人,所以我将使用我所拥有的伪代码。

 thing.start_angle = 180
 thing.end_angle = 90
 thing.angle = interpolate(thing.start_angle, thing.end_angle, position)

我喜欢这种方式(对于“如果角度> max_angle 然后角度 - 1”的详细时间控制),但我找不到如何检测角度是否会旋转的“规则”......我怎么能找到如果旋转将低于 0 或高于 360,要采取相应措施吗?

4

1 回答 1

1

如果

thing.end_angle - thing.start_angle >= 180 或 < -180

(假设角度范围为 0 到 379)。

于 2010-08-13T03:53:11.040 回答