我有2的DisplayObject,一個含有其它類似代碼如下:的Actionscript旋轉從1個軸線
var sprite1:Sprite = new Sprite();
sprite1.addChild(loader1); // assume that I have load picture on to loader1
loader1.rotationZ = 30;
sprite1.rotationZ = -30;
如果我運行上述代碼中,上loader1圖像將看起來就像它不是招」因爲它的容器在相反的方向旋轉,所以完全旋轉。正如我所料,這是正確的。
但是,如果我有多個軸旋轉代碼:
loader1.rotationZ = 30;
loader1.rotationY = 50;
sprite1.rotationZ = -30;
sprite1.rotationY = -50;
現在,loader1將在不同的角度旋轉。我的問題是,爲什麼它不互相抵消? 請注意,loader1和sprite1的x,y,z位置均爲0,0,0。無論旋轉X,Y或Z如何,都會出現此問題。如果您有1個軸,則它可以正常工作。 2軸,它不會。
我張貼這個示例代碼,因爲我想了解Flash如何在3D中旋轉。在AS3文檔中,它宣稱它圍繞「3D父容器」旋轉是什麼?
我很確定這裏的問題與矩陣的乘法有關,這可能非常棘手。希望有更廣泛的3D知識的人能夠給你一個明確的答案。你是否無法將圖像作爲位於旋轉子畫面上方的獨立顯示對象加載? – TheDarkIn1978 2010-11-09 04:53:54
我的實際問題太複雜,無法解釋或放下示例代碼。但是這只是導致錯誤的一點。我想了解它是如何徹底運作的 – ohm 2010-11-09 11:07:39