我有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