我有 2 个 DisplayObject,一个包含另一个,如下面的代码:
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 父容器”旋转,那是什么?