`
WORM
  • 浏览: 19285 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

3D旋转效果(转自altair86)

 
阅读更多
mCamera.translate(degrees / 90 * centerX*2, 0, 0);

mCamera.rotateY(degrees *params);

这个是主要的旋转代码,沿x轴平移,绕Y轴旋转;camera的动作其实就是产生一个matrix,camera的translate相当于matrix的setScale,而缩放是以(0,0)点为中心的,想要实现当前屏的VIEW的右边界从屏幕右侧平移至左侧(即实现旋转不出屏),即旋转轴为右边界,那就是要将此VIEW的右边界中心点移动到(0,0),则有:
matrix.preTranslate(-centerX*2, -centerY);

这样图片就被移动过了,所以调用:
matrix.postTranslate(centerX*2, centerY);

这么操作后,图片的动画效果就是沿右边界的。
注:centerX和centerY是界面中心的坐标。

同理,下一个VIEW是要沿左边界旋转的,则:
matrix.preTranslate(0, -centerY);

matrix.postTranslate(0, centerY);
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics