当前位置:
首页 >
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动作的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 霍金:AI或许能根除疾病和贫穷,但也可能
- 下一篇: 3、构建bass服务及model