筆者介紹:姜雪偉,IT公司技術合伙人,IT高級講師,CSDN社區專家,特邀編輯,暢銷書作者,國家專利發明人;已出版書籍:《手把手教你架構3D游戲引擎》電子工業出版社和《Unity3D實戰核心技術詳解》電子工業出版社等。
Cocos2d-x引擎把Particle Universe粒子殊效集成在3D模塊中,粒子系統代碼和資源具體放在extensions文件夾下面。開發者最關心的是制作的殊效如何在邏輯中使用,首先加載殊效,殊效文件主要分為3部份:材質,殊效文件,圖片資源分為3個文件夾,目錄結構以下圖:
依照文件夾從上到下順序給讀者介紹:materials文件夾寄存的是材質腳本文件,在前面已介紹過,scripts文件夾是寄存殊效擴大名pu的核心文件,textures文件夾寄存的是殊效的紋理資源文件。在加載播放殊效之前,首先要做的事情是把腳本文件通進程序預先加載進來,代碼以下所示:
FileUtils::getInstance()->addSearchPath("Particle3D/materials"); FileUtils::getInstance()->addSearchPath("Particle3D/scripts");
在函數addSearchPath中的參數是寄存粒子的目錄結構,下面的代碼段是在Cocos2d-x引擎中調用函數創建1個粒子殊效代碼以下所示:
auto ps2 = PUParticleSystem3D::create("pu_xs_light_0007.pu"); sprite_Base->addChild(ps2); ps2->setPosition3D(Vec3(145.0, 50.2, 100.425)); //設置精靈位置 ps2->setRotation3D(Vec3(0, 0, 0)); ps2->setScale(100.0f); ps2->startParticleSystem();第1句是創建粒子殊效,通過文件名字將其加載進來;第2句代碼作用是將粒子掛接到場景樹中,并在場景中顯示出來;第3句是設置殊效在場景中的位置;第4句是設置殊效的旋轉角度;第5句是設置殊效的放大縮小倍數,播放殊效放在了最后1句,至此全部殊效加載播放就完成了。程序運行后實現的效果以下圖:
這個殊效是利用Cocos2d-x引擎加載播放的效果圖,利用一樣的方式可以實現其他不同的粒子效果,再給讀者展現運行粒子效果以下圖:
上一篇 子線程不能更新UI線程總結
下一篇 Node核心模塊之Events