AS3:使用Matrix模拟RotationX

时间:2011-05-31 07:18:44

标签: actionscript-3 flash animation rotation

我必须使用Flash CS3,所以我不能使用属性rotationX,roationY和rotationZ。

我有一个看起来像这样的动画片段。它现在是扁平的,没有3D旋转或剪切

enter image description here

但我想要的是这个movieclip有一个rotationX,或者它有点透视:

enter image description here

正如我所说,我不能使用rotationX,所以我一直在玩Matrix。 但我无法做对。

以下是我尝试的方法

  

myMC.transform.matrix = new   矩阵(1,0.15,0.35,1,0,0);

这是结果

enter image description here

你能帮我把矩阵弄好吗,还是有别的办法?

谢谢你, 文森特

3 个答案:

答案 0 :(得分:0)

抱歉,rotationX和rotationY不是仿射变换(它们显然不保持行之间的平行度),因此它们不能通过2D空间中的矩阵乘法来表示。然而,它在3D空间中是一致的(其中平行线的非保留是2D投影的明显效果,而不是旋转的明显效果)

答案 1 :(得分:0)

我相信你要做的是获得一个正确的仿射变换矩阵。

enter image description here

FYR(转型矩阵)http://en.wikipedia.org/wiki/Transformation_matrix

<强> 编辑

有关3D变换及其矩阵的更多信息, 在这里,看看是否适用。

http://www.cosc.brocku.ca/Offerings/3P98/course/lectures/2d_3d_xforms/

编辑2

关于CS3和CS4中3D变换的博客文章。

  

3d旋转简单方法:购买Flash   CS4 uggh!我还在使用CS3   对于我的Flash软件。我的插画家,   photoshop,首映和后遗症   仍处于CS2的低水平   出于经济原因,我被卡住了   我过时的软件配置   一会儿。但如果你不在我的船上   或者和我的船在同一条海上,   考虑购买最新,最好的   CS4 Flash可以进行3D操作   闪存显示对象固有的。   是的,内在的,内置的,容易的。

     

在Flash CS3及更低版本中,显示   仅对象(即精灵或动画片段)   识别一个旋转属性   (旋转:表示旋转   中的DisplayObject实例   度,从原来的   方向,通常是   左上角,角落或0,0)。这个   属性只旋转对象   Flash舞台的2D平面空间。至   一定要让3D在这个闪光灯中工作   用数学“假”它。很多数学,   点,线,填充,三角形,数组,   有时是矩阵。 Yippee kayae!

     

在Flash CS4及更高版本中(撰写时)   没有上面的,一个显示对象   (即精灵或动画片段)识别   四(4)个旋转属性。圣   牛!是的,四个旋转属性:

     

旋转:与CS3相同。 2D旋转。   rotationX:围绕X旋转   阶段的轴,即垂直   翻转。 rotationY:旋转它   舞台的Y轴,即   水平翻转。 rotationZ:旋转,   婴儿旋转的Z轴   阶段。旋转,就我而言   绕Z轴是一样的   轮换(除非,由于某种原因,   Z轴不穿越   对象的方向点)。   [http://actionscription.wordpress.com/2009/03/12/3d-rotation/]

答案 2 :(得分:0)

让您的生活更轻松,只需为Flash 9下载3D引擎:

http://away3d.com/downloads

或者您可以修改CS3安装以生成目标为Flash 10 +的SWF文件