2010-03-11 68 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