android使用camera和matrix,canvas小结

做android开发,很大部分都是在做界面上的开发,所有要了解各种动画和某些特殊效果的时候必须使用matrix  canvas  camera来处理,本人在开发各种3d效果时做了如下总结

原则:一切动画皆为画,记住这点很多东西都可以解决或者优化得相对不错

camera:

1、要做3d效果就必须使用这个东西(使用opengles例外),这个的具体使用方式看官方文档即可,这里不做多讲解,这里只是写一些该注意事项,使用camera.translate  camera.rorateX camera.rorateY camera.rorateZ的时候一定要注意调用的顺序,若是顺序错了,效果完全不一样,比如在go桌面的盒子(内)效果的时候,若是你先camera.rorateY(angle),然后再camera.translate(0,0,z)的话,效果就永远无法实现,里面的那条边永远都不能紧挨着移动的。再进行旋转的时候(y轴)正时针方向为负的,逆时针方向是正的


matrix:

1、用法也不说了,问度娘就可以了;在使用matrix的时候一定要注意pre和post的区别,post的相当于再上一个矩阵的继承上进行前乘((x,y)*M),pre的话是在标准矩阵的基础上进行改变的,如 postTranslate(x),preTranslate(x,0) 相乘的顺序是先把标准矩阵进行pre的操作,然后做pre后的矩阵再post操作,这个可能不太好理解,得多写demo的慢慢去领悟,


canvas的用法上上面的差不多,不多说了,以后遇到的时候再更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值