我对rotationX和rotationY有点问题。
如果我只是在
下面做一个roationX和rotaionY,这很酷_eventParent.rotationY =_differentX;
_eventParent.rotationX =_differentY;
但是,一旦我将鼠标移动到_eventParent。当鼠标移动时,roationX和roationY会透视变化。所以相反,项目保持相同的大小。它前瞻性地增加和减少尺寸。任何想法为什么这样做?是否有可能阻止这种行为?
由于
请找到下面的图片。
答案 0 :(得分:4)
透视允许您的部分形状看起来比其他部分更接近您。问题是透视有一个中心或“消失点”,默认情况下它是固定的。当你的形状远离消失点时,视角会发生变化,导致你的形状变宽或变窄。
您可以通过更新消失点来解决此问题,使其始终与您的形状处于相同的坐标。由于形状总是处于消失点,因此视角不应改变。
为此,请为您的形状创建一个perspectiveProjection:
_eventParent.transform.perspectiveProjection = new PerspectiveProjection();
PerspectiveProjection位于flash.geom包中,所以不要忘记导入它。
然后,每当您更新形状的位置时,请更新它的消失点:
_eventParent.transform.perspectiveProjection.projectionCenter =
new Point(_eventParent.x, _eventParent.y);
您可能需要将消失点偏移一定数量的像素,以使透视图看起来像您想要的那样。
答案 1 :(得分:0)
如果我误解了你的问题,请纠正我。您的问题是,如果您将旋转应用于movieClip对象,那么为什么大小似乎在变化?
为简化起见,我们不在X轴和Y轴上应用旋转。让我们拍一个矩形的电影剪辑和onMouseMove我们做++myMovieClip.rotationX
;
现在,这个语句将对X轴上的对象应用旋转,并且可以获得在X轴上翻转的影片剪辑的透视图,这种翻转将显示为对象大小的变化。
这同样适用于横跨y轴的旋转。