【发布时间】:2015-05-08 16:02:51
【问题描述】:
我在获得一个标准化的浮动来平滑旋转一些精灵时遇到了麻烦。我正在使用插值来旋转我的精灵。在旋转的某个点,精灵会跳跃,每次都在同一个点。
name.angle = (name.getBody().getTransform().getRotation() * alpha + name.prevAngle * (1.0f - alpha));
我在网上查看并找到了几种方法来标准化 -pi 和 +pi 之间的角度,但我无法让它们在我的情况下工作。
以下不起作用
if (name.angle > Math.PI)
name.angle += 2 * Math.PI;
else if (name.angle < -Math.PI)
name.angle -= 2 * Math.PI;
以下确实有效
name.angle = name.angle < 0 ? MathUtils.PI2 - (-name.angle % MathUtils.PI2) : name.angle % MathUtils.PI2;
【问题讨论】:
-
你的优点和缺点都搞错了。
-
我当然愿意,谢谢大家的帮助。下次我会尽量不犯这种愚蠢的错误。但我仍然遇到精灵“跳跃”的问题
标签: java android libgdx normalize radians