欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

24、Cocos2dx 3.0游戏开发找小三之网格动作:高炫酷的3D动作

发布时间:2025/3/21 52 豆豆
生活随笔 收集整理的这篇文章主要介绍了 24、Cocos2dx 3.0游戏开发找小三之网格动作:高炫酷的3D动作 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/37596763


网格动作类似于动作特效,能够实现翻转、震荡、抖动、水的波纹等效果。


网格的基类: GridBase* Grid  获取或设置该节点的网格特效状态。

网格应用于画图平面上,能够实现水纹等 3D 特效;


基类定义:cocos2d/2d/CCGrid.h中。
基于这个基类有两个子类: Grid3D TiledGrid3D 这两个子类的共同点是:网格的每一个子块都能够分离出来。
集成关系代码: class CC_DLL GridBase : public Refclass CC_DLL Grid3D : public GridBaseclass CC_DLL TiledGrid3D : public GridBase
网格一般不直接应用。仅仅须要明确Grid3D和TiledGrid3D 。了解网格动作是基于网格的就可以。 执行网格动作的节点就像是被分成了大小同样的非常多个矩形,通过这些矩形的动作来形成总体的网格动作, 16X12的网格执行的非常快,可是效果并非非常好。 32X24的网格看起来效果不错。可是有时间执行起来不会太快。


使用网格动作之前,须要取消OpenGL的深度检測: 调用       Director::getInstance()->setDepthTest(true);
网格动作和普通的动作的使用方式是一样的。能够通过runAction来执行动作,
详细的动作例如以下表所看到的:

部分网格动作的执行效果如图所看到的:






在使用网格动作时,网格动作结束之后,须要把网格清空: void TextLayer::checkAnim(float dt) {//auto s2 = getChildByTag(kTagBackground);if ( _gridNodeTarget->getNumberOfRunningActions() == 0 && _gridNodeTarget->getGrid() != NULL)_gridNodeTarget->setGrid(nullptr);; }
首先找到目标节点,然后检測目标节点是否还有动作,假设没有而且网格不为空。则调用setGrid函数并传入空參数(nullptr) 就能够清空网格; 当使用schedule一直检測调用该函数时,就能够实现清空无动作的节点网格。




转载于:https://www.cnblogs.com/jzssuanfa/p/6785114.html

总结

以上是生活随笔为你收集整理的24、Cocos2dx 3.0游戏开发找小三之网格动作:高炫酷的3D动作的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。