关于翻折的实现方式cocos2d

来源:互联网 发布:window10无法安装软件 编辑:程序博客网 时间:2024/05/17 07:12

记录一下之前的研究结果,不知道能坚持多久呢。

关于cocos2d中翻牌动画的实现,目前大概有三种实现方式:

1.使用scale的方式实现的,其实只是伸缩的效果,只是视觉看起来像是翻折动画,配合回调函数使用,优点是通用性强,cocos2d-x和cocos2d-js都可以使用,缺点是实际效果跟真正的翻折动画效果还是差那么一点的;

2.使用romateBy的方式实现的,参数需要是cocos2d::Vec3类型的(0,180,0),优点是视觉效果逼着,缺点是只能在cocos2d-x中使用,cocos2d-js中没有绑定相应的参数,无法调用;

3.使用orbitCamera的方式实现的,参数主要是:半径r,半径变化量dr,与z轴夹角za,与z轴夹角的变化量dz,与x轴夹角xa,与x轴夹角的变化量dx,优点是视觉效果逼真 ,缺点是cocos2d-x使用方便,cocos2d-js只有绑定函数名称,没有实现过程,意思是在js代码中调用orbitCamera动作,在浏览器端无法实现效果,而且会报错,因为cocos2d-js根本就没有实现本方法;但是,同样的代码在手机上,在vs项目里就是可以运行的,因为通过jsb的绑定,vs等原生平台可以找到对应的c++代码并运行。


最后的解决方案是:在js端通过cc.sys判断运行的平台,如果是原生平台,则执行orbitCamera代码;否则执行scale的代码。

原创粉丝点击