cocos2dx之实现扑克牌翻转效果的三种方法

本文介绍了在Cocos2d-x中实现扑克牌翻转效果的三种方法,包括使用OrbitCamera和ScaleTo。通过OrbitCamera实现的翻转效果存在背面显示不一致的问题,通过调整解决了这一问题。第二种方法是在第一种基础上改进,使翻转效果更流畅。第三种方法利用ScaleTo实现了翻转,通过改变精灵的缩放比例达到翻转视觉效果。
摘要由CSDN通过智能技术生成

***************************************************************************************

时间:2015-04-10

作者:Sharing_Li

转载注明出处:http://blog.csdn.net/sharing_li/article/details/44980493

***************************************************************************************


       最近写一款家乡的牌类游戏,自己玩玩,里面涉及到扑克牌的翻牌效果,这里简单来说一下:

       一说到翻转,我马上想到了OrbitCamera这个家伙,虽然很少用,但知道它有这个效果,但代码写到一半发现事实情况是这样的:



        我本意是打算将扑克牌背面转到90°,也就是与屏幕垂直,这个时候,再把扑克牌正面从90°位置转到0°即正面。但是同样是转到90°,各个背面的显示不一样。代码如下:

for (int j = 1; j <= 16; j++) {
        m_cardBg.at(j - 1)->runAction(Sequence::create(DelayTime::create(1)
                                      ,OrbitCamera::create(0.05 + j / 20.0, 1, 0, 0, 90, 0, 0),NULL));

    }

        纳闷,然后上网查了查文档,说OrbitCamera是沿屏幕中心进行球面轨迹的旋转,乍一看不知道说的啥,OrbitCamera::create函数的参数也很多,然后分析了一下,好像知道了个三二一,见下图:


      所谓的旋转90°也就是垂直球面指向球心。“上有政策,下有对策”,我这里弄了一个勉强的解决方案,也就是当动画运行到上图停止时,隐藏扑克牌背面,让事先隐藏(先用orbitcamera旋转90°再隐藏)的扑克牌正面图片显示出来,然后向相反的方向调用or

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值