2010-03-11 69 views
0

一些原因,从3D papervision目标2D对象我一直在挣扎了一会儿。360度旋转在ActionScript

我有匝使用键盘输入一个papervision相机,我有一个雷达,其中我希望摄像机转向时进行定向于方向。

我拥有这一切,从我的映射(相机)的工作除了DisplayObject3D.rotationYRadarInterface.rotation正确。

相机(或任何3D对象)可与值我发现很难: 顺时针方向:0 to 89, 89 to 0, -0 to -89, -89 to -0做一个完整的360

所以,如果我是180度转弯我会去从0到90并再次回到0。

有谁知道如何将其转换为360度。

在此先感谢。

回答

0

这是不完全清楚,我怎么你给这些号码会工作。在过去,由于闪光灯改变270到-90或类似的东西,我有旋转问题,对象旋转不正确。以下声明有助于我几次;它将范围从0变到360到-180到180.

if (Math.abs (difference) > 180) { 
    difference = difference > 0 ? difference - 360 : 360 + difference; 
} 

你是说45度会返回与135相同的值吗?

+0

美丽。这加上我改变formule与localRotationY工作,而不是只是旋转工作。 旋转是一个度数校正值,但localRotation是恒定的。它会从0到360 +而不会重置为0 - 所以如果您转两次,它将读取720而不是零。 – Glycerine 2010-03-15 11:14:54