使用cocos2dx 实现3D搓牌效果,包括铺平动画

时间:2024-04-14 18:17:34

使用cocos2dx实现3D搓牌效果,包括铺平动画

前段时间帮朋友做的一个项目中需要实现一个模拟真实的翻牌效果,因为之前没有做过这样的特效,忙活了几天走了不少弯路,终于完美实现了,现将实现过程记录下来。

首先想到的是使用序列帧动画,但这样的话每张牌都要做对应的序列帧,会大大增加资源包的大小,不得已放弃。

后面又想到使用CCScaleTo和CCSequence来实现,即将扑克牌设置为正面,然后使用ScaleTo从1到0,然后执行回调替换扑克牌为正面,然后再ScaleTo从0到1,主要代码如下。

使用cocos2dx 实现3D搓牌效果,包括铺平动画

结果,最终效果看起来离真实的翻牌效果看起来差远了,只能放弃。

还想过用GridNode来实现,但计算过程太繁琐,且不容易重用,只得作罢。

最后决定用3D动画来实现,Cocos从2.2.1版本就开始支持3D动画,我使用的Cocos版本为3.10版,3D动画的播放没有问题,不过要实现对3D动画的控制,还要对Cocos引擎做一些改动,主要的对3D动画控制的代码如下:

使用cocos2dx 实现3D搓牌效果,包括铺平动画

 实现的最终效果如下:

使用cocos2dx 实现3D搓牌效果,包括铺平动画

 

如果项目中有用得到,又不想花时间去研究实现过程的老板,可以私聊QQ2426988176购买,另外如果对DEMO中的搓牌特效动画不满意,我们可以提供各种搓牌特效动画的定制。