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