24、Cocos2dx 3.0游戏开发找小三之网格动作:高炫酷的3D动作
生活随笔
收集整理的這篇文章主要介紹了
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的網格執行的非???#xff0c;可是效果并非非常好。 32X24的網格看起來效果不錯??墒怯袝r間執行起來不會太快。
使用網格動作之前,須要取消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