360旋转关闭设置

时间:2016-11-07 05:06:01

标签: android math unity3d geometry

我在android中制作指南针。我存储了z轴的起始值。

当我将手机旋转一圈时,每10度后我想做出决定。

我的计算方法如下:

startingAngle=355;
currentAngle=`Real time value of z-axis`;
difference=currentAngle-startingAngle;

if(difference==10){
`enter code here`
}

当我开始围绕一个圆圈旋转手机时,最终currentAngle达到359,然后进入1.

currentAngle为1而startingAngle为355时会出现问题,因为difference变为344,但应该为6.

如何获得正确的差值,以便在10度后触发功能?

1 个答案:

答案 0 :(得分:2)

如果我理解你的问题:

Diff  = Abs(Angle1 - Angle2)
if Diff >= 180
    Diff = 360 - Diff