Flex 3D旋转的各种实现
大年夜,在整flex 3d旋转呵呵。
传说大年夜写程序,来年发财 哈哈。
Flex 4 提供 的Rotate3D 效果实现旋转效果 和 手动设置ui.rotationY 的效果完全不一样,这种效果就好像你写意思一样的两行代码“求美女”,Rotate3D 返回的给你的是“林志玲”,ui.rotationY返给你的却是“凤姐”,我靠,这还得了,吓死人。后来找遍了各种原因,翻遍了各种api,把flash的3D变换框架都掏了个底朝天,最后终于让哥发现,那个环节把“林志林”偷梁换柱成“凤姐”了。
在大揭秘之前,容许哥先讲一讲flex 3D旋转的几种方式。
1:Rotate3D 效果显示旋转
2: matrix3D,详情查看flex 4的帮助文档。用法(设置ui.transform.matrix3D = new Matrix3D,然后设置各种属性)
3:PerspectiveProjection(透视)
重点了,就是想直接这是 rotationY的值就让她马上绕y轴旋转,而且要有Rotate3D的效果,某昂搞。。
看下面重点代码:
var p:PerspectiveProjection = new PerspectiveProjection();
p.fieldOfView = 55; //翻了翻,发现默认的视角距离是55
p.projectionCenter = new Point(ui.width/2,ui.height/2 ); //视角点,狠重要,也就是说你眼睛的点。
ui.transform.perspectiveProjection = p;
OK,这几个属性搞定,再也不会出现凤姐了。
有人说,如果说我想批量请求林志玲某昂搞呢?
哥有办法,看下边;
关系: group1.addElement( group 2); group1.addElement( group 3);
批量实现: group1.transform.perspectiveProjection = p; OK搞定
解释批量和单个请求的区别;
单个请 求美眉:
|-------------------------
| |
| 0(视点) |
| ------------------------|
批量:
group1 (视角不同偏转反响也不同。2,3又偏转,4,5左偏转 )
|------------------------------------------------|
| |----------------| |-----------------| |-------------| |-------------| |
| | group2 | | group3 | 0(视点) | group4 | | group5 | |
| |-----------------| |----------------- | |--------------| | -------------| |
|-------------------------------------------------| 1 楼 Alex丿 2012-05-28 现在在学F4特效,没看,明白。。