actionscript-3 - As3 Sprite 旋转X和旋转Y

标签 actionscript-3 rotation

我在旋转X和旋转Y方面遇到了一些问题。

如果我只做下面的 roationX 和 rotaionY 就很酷了

_eventParent.rotationY =_differentX; 
_eventParent.rotationX =_differentY;

但是,一旦我将鼠标移动分配给_eventParent。当鼠标移动时,roationX 和 RoationY 会发生透视变化。因此该项目保持相同的尺寸。它会前瞻性地增加和减少尺寸。知道为什么要这样做吗?有可能阻止这种行为吗?

谢谢

请找到下面的图片。

enter image description here

最佳答案

透视可以让你的形状的一部分看起来比其他部分更接近你。问题在于透视有一个中心或“消失点”,并且默认情况下它是固定的。当您将形状远离消失点时,视角会发生变化,导致形状变宽或变窄。

您可以通过更新消失点来解决此问题,使其始终与您的形状处于相同的坐标。由于形状始终处于消失点,因此视角不应改变。

为此,请为您的形状创建透视投影:

_eventParent.transform.perspectiveProjection = new PerspectiveProjection();

PerspectiveProjection 位于 flash.geom 包中,因此不要忘记导入它。

然后,每当您更新形状的位置时,都会更新它的消失点:

_eventParent.transform.perspectiveProjection.projectionCenter = 
    new Point(_eventParent.x, _eventParent.y);

您可能需要将消失点偏移一定数量的像素,以获得您想要的透视效果。

关于actionscript-3 - As3 Sprite 旋转X和旋转Y,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15014581/

相关文章:

android - Adobe AIR 3 native 扩展 - Android res 文件夹未包含在 .ane 文件中

actionscript-3 - 当窗口没有焦点时如何从控件中移除焦点?(否则当窗口再次获得焦点时它将恢复)

android - 捕获权限授予完成事件

旋转后 IOS 调整 UI 大小(在 IOS 中可以填充父级)

ios - UIView 响应动画后的方向变化

ios - 空中应用——实现Facebook

arrays - 为什么 AS3 在 for 循环中创建新实例?

ios - cgcontext 旋转矩形

android - 如何在xamarin android中旋转YuvImage

菜单项的 JavaScript 旋转在单击后卡住