聲 明函數 本教程僅用於初學cocos2dx同窗使用,內容由本人(孤狼)學習過程當中筆記編寫,本教程使用cocos2dx版本爲2.1.4。本教程內容能夠自由轉載,但必須同時附帶本聲明,或註明出處。工具 gl.paea.cn版權全部。學習 |
Hello,你們好,歡迎回到「和屌絲一塊兒學coocs2dx」系列教程,這兩天有事,就停更了兩天。好了,上節咱們說到了「數據存儲」,你們必定都作出來了吧。是否是很簡單呢?還有哦,數據存儲直接存是明碼的哦,你能夠對數據加密,加密方式有不少,你能夠去網上百度一下,本身選一種方式。好了,這節咱們來講一下一個很炫的功能-粒子特效。this
【一】:幹嗎的加密
粒子特效是用來增長遊戲體驗感的。好比下雪啦,爆炸啦等等。spa
【二】:函數教程
1.特效遊戲
CCParticleExplosion //爆炸粒子特效圖片
CCParticleFire //火焰粒子特效ci
CCParticleFlower //花束粒子特效
CCParticleFireworks //煙花粒子特效
CCParticleGalaxy //星系粒子特效
CCParticleMeteor //流星粒子特效
CCParticleRain //下雨粒子特效
CCParticleSmoke //煙霧粒子特效
CCParticleSnow //下雪粒子特效
CCParticleSpiral //漩渦粒子特效
CCParticleSun //太陽粒子特效
2.函數
setTexture();
//設置特效貼圖。這裏注意。老版本中若是不設置這項會報錯退出。2.1.4中不設置可使用。
setAutoRemoveOnFinish(bool);
//設置自動釋放true爲自動釋放。
setPositionType()
//設置移動類型
kCCPositionTypeFree//自由模式。粒子不予發射器聯繫,發射後粒子走本身的軌道,能夠作出焰尾。
kCCPositionTypeRelative//相對模式。粒子發射器隨節點移動而移動。
kCCPositionTypeGrouped//相對模式。粒子隨發射器移動而移動。
3.自定義
CCParticleSystemQuad::create();
這個函數是用來加載自定義的plist文件的。怎麼自定義呢?咱們使用工具「紅孩兒工具箱」就能作自定義特效了。
【三】:示例
1.新建一個項目:Particledemo
2.載入一張很小的圖片用來作貼圖。
Particledemo.cpp
//-new-//
CCSize mysize=CCDirector::sharedDirector()->getWinSize();
////CCParticleExplosion特效
////建立CCParticleExplosion特效
//CCParticleSystem * p1=CCParticleExplosion::create();
////設置特效貼圖
//p1->setTexture(CCTextureCache::sharedTextureCache()->addImage("t.jpg"));
////設置自動釋放
//p1->setAutoRemoveOnFinish(true);
////設置移動類型
//p1->setPositionType(kCCPositionTypeGrouped);
////設置位置
//p1->setPosition(ccp(mysize.width/2,mysize.height/2));
////添加特效
//this->addChild(p1);
////CCParticleExplosion特效
//CCParticleSystem * p2=CCParticleFire::create();
//p2->setTexture(CCTextureCache::sharedTextureCache()->addImage("t.jpg"));
//p2->setAutoRemoveOnFinish(true);
//this->addChild(p2);
////CCParticleFlower特效
//CCParticleSystem * p3=CCParticleFlower::create();
////p3->setTexture(CCTextureCache::sharedTextureCache()->addImage("t.jpg"));
//p3->setAutoRemoveOnFinish(true);
//this->addChild(p3);
////CCParticleFireworks特效
//CCParticleSystem * p4=CCParticleFireworks::create();
////p4->setTexture(CCTextureCache::sharedTextureCache()->addImage("t.jpg"));
//p4->setAutoRemoveOnFinish(true);
//this->addChild(p4);
////CCParticleGalaxy特效
//CCParticleSystem * p5=CCParticleGalaxy::create();
////p5->setTexture(CCTextureCache::sharedTextureCache()->addImage("t.jpg"));
//p5->setAutoRemoveOnFinish(true);
//this->addChild(p5);
////CCParticleMeteor特效
//CCParticleSystem * p6=CCParticleMeteor::create();
////p6->setTexture(CCTextureCache::sharedTextureCache()->addImage("t.jpg"));
//p6->setAutoRemoveOnFinish(true);
//this->addChild(p6);
////CCParticleRain特效
//CCParticleSystem * p7=CCParticleRain::create();
////p7->setTexture(CCTextureCache::sharedTextureCache()->addImage("t.jpg"));
//p7->setAutoRemoveOnFinish(true);
//this->addChild(p7);
////CCParticleSmoke特效
//CCParticleSystem * p8=CCParticleSmoke::create();
////p8->setTexture(CCTextureCache::sharedTextureCache()->addImage("t.jpg"));
//p8->setAutoRemoveOnFinish(true);
//this->addChild(p8);
////CCParticleSnow特效
//CCParticleSystem * p9=CCParticleSnow::create();
////p9->setTexture(CCTextureCache::sharedTextureCache()->addImage("t.jpg"));
//p9->setAutoRemoveOnFinish(true);
//this->addChild(p9);
////CCParticleSpiral特效
//CCParticleSystem * p10=CCParticleSpiral::create();
////p10->setTexture(CCTextureCache::sharedTextureCache()->addImage("t.jpg"));
//p10->setAutoRemoveOnFinish(true);
//this->addChild(p10);
////CCParticleSun特效
//CCParticleSystem * p11=CCParticleSun::create();
////p11->setTexture(CCTextureCache::sharedTextureCache()->addImage("t.jpg"));
//p11->setAutoRemoveOnFinish(true);
//this->addChild(p11);
//自定義特效
CCParticleSystem * mypat=CCParticleSystemQuad::create("1.plist");
mypat->setPosition(ccp(mysize.width/2,mysize.height/2));
this->addChild(mypat);
//-new-//
好了,咱們來看看效果吧。