這是我的問題:actionscript 3 rotation
我有一個叫做player的movieclip,我想要他的輪換;
player.rotation=0;
player.rotation-=90;
trace(player.rotation);//this traces -90, not 270
我想知道爲什麼它dosent說,旋轉270,因爲0是像360,當你旋轉90個degres離開它應該是270;
我問這個,因爲它在我的遊戲會導致一個問題
感謝
這是我的問題:actionscript 3 rotation
我有一個叫做player的movieclip,我想要他的輪換;
player.rotation=0;
player.rotation-=90;
trace(player.rotation);//this traces -90, not 270
我想知道爲什麼它dosent說,旋轉270,因爲0是像360,當你旋轉90個degres離開它應該是270;
我問這個,因爲它在我的遊戲會導致一個問題
感謝
-90和是不同的值,但將這些值分配給其旋轉屬性的精靈將顯示爲相同,因爲顯示對象的旋轉值不具有有限的範圍。從文檔flash.display.DisplayObject.rotation:
值從0到180代表順時針旋轉;從0到 -180的值表示逆時針旋轉。超出此範圍的值將被添加到360或從中減去,以獲得 範圍內的值。例如,my_video.rotation = 450語句相同 與my_video.rotation = 90
如果要限制這個範圍,你必須創建自己的函數來做到這一點。
旋轉在Flash從東部開始,然後遞增高達逆時針180順時針或遞減下降到-179。
對於遊戲開發,我建議堅持弧度你需要做的任何角度數學和使用rotation
顯示/只渲染。
這裏是一個小的演示輸出從0到360(0)的旋轉:
var shape:Shape = new Shape();
for(var i:int = 0; i<360; i++)
{
shape.rotation ++;
trace(shape.rotation);
}
您會注意到,輸出時鐘到-179後180