Cocos2d X中的粒子

2021-09-08 04:32:37 字數 4240 閱讀 9557

cocos2d-x引擎提供了強大的粒子系統,它在模仿自然現象、物理現象及空間扭曲上具備得天獨厚的優勢,為我們實現一些真實自然而又帶有隨機性的特效(如**、烟花、水流)提供了方便

程式例項1:建立乙個烟花效果的方法1

ccsize winsize = ccdirector::shareddirector()->getwinsize();

//烟花效果

ccparticlefireworks* fw = ccparticlefireworks::create();

addchild(fw);

fw->setposition(ccp(winsize.width / 2, winsize.height / 2));

執行結果:

程式例項2:建立乙個烟花效果的方法2

ccsize winsize = ccdirector::shareddirector()->getwinsize();

//烟花效果

ccparticlesystemquad* p = ccparticlefireworks::create();

addchild(p);

p->setposition(winsize.width / 2, winsize.height / 2);

執行結果:

程式例項3:建立乙個星雲效果

ccsize winsize = ccdirector::shareddirector()->getwinsize();

//星雲效果

ccparticlesystemquad* p2 = ccparticlegalaxy::create();

addchild(p2);

p2->setposition(ccp(winsize.width / 2, winsize.height / 2));

執行結果:

程式例項4:建立乙個彗星效果

ccsize winsize = ccdirector::shareddirector()->getwinsize();

//彗星效果

ccparticlesystemquad* p2 = ccparticlemeteor::create();

addchild(p2);

p2->setposition(ccp(winsize.width / 2, winsize.height / 2));

執行結果:

程式例項5:建立乙個花束效果

ccsize winsize = ccdirector::shareddirector()->getwinsize();

//鮮花效果

ccparticlesystemquad* p2 = ccparticleflower::create();

addchild(p2);

p2->setposition(ccp(winsize.width / 2, winsize.height / 2));

執行結果:

程式例項6:建立乙個火焰效果

ccsize winsize = ccdirector::shareddirector()->getwinsize();

//火焰效果

ccparticlesystemquad* p2 = ccparticlefire::create();

addchild(p2);

p2->setposition(ccp(winsize.width / 2, winsize.height / 2));

執行結果:

程式例項7:5個效果放在一起展示

ccsize winsize = ccdirector::shareddirector()->getwinsize();

//烟花效果

ccparticlesystemquad* p1 = ccparticlefireworks::create();

//星雲效果

ccparticlesystemquad* p2 = ccparticlegalaxy::create();

//火焰效果

ccparticlesystemquad* p3 = ccparticlefire::create();

//彗星效果

ccparticlesystemquad* p4 = ccparticlemeteor::create();

//鮮花效果

ccparticlesystemquad* p5 = ccparticleflower::create();

addchild(p1);

addchild(p2);

addchild(p3);

addchild(p4);

addchild(p5);

p1->setposition(ccp(100, winsize.height / 2));

p2->setposition(ccp(200, winsize.height / 2));

p3->setposition(ccp(300, winsize.height / 2));

p4->setposition(ccp(400, winsize.height / 2));

p5->setposition(ccp(500, winsize.height / 2));

執行效果:

程式例項8:

執行人工編輯的粒子

ccsize winsize = ccdirector::shareddirector()->getwinsize();

ccparticlesystemquad* p = ccparticlesystemquad::create("particles/galaxy.plist");

addchild(p);

p->setposition(ccp(winsize.width / 2, winsize.height / 2));

執行結果:

程式例項8:

執行能夠移動的粒子

cclayer::init();

ccsize winsize = ccdirector::shareddirector()->getwinsize();

ccparticlesystemquad* p = ccparticlesystemquad::create("particles/flower.plist");

addchild(p);

p->setposition(ccp(100, winsize.height / 2));

ccmoveby* by = ccmoveby::create(4, ccp(winsize.width, 0));

p->runaction(

ccrepeatforever::create(

ccsequence::create(by, by->reverse(), null)

) );

執行結果:

Cocos2d X中的粒子

cocos2d x引擎提供了強大的粒子系統,它在模仿自然現象 物理現象及空間扭曲上具備得天獨厚的優勢,為我們實現一些真實自然而又帶有隨機性的特效 如 烟花 水流 提供了方便 程式例項1 建立乙個烟花效果的方法1 ccsize winsize ccdirector shareddirector get...

cocos2dx之粒子效果

有時候我們需要做一些特殊的效果,比如子彈 的效果,當然我們用動畫也可以做出來,但是有時候發現利用粒子的效果去代替它會跟好看,我們先來看下粒子 void particledemolayer initlayer ccparticleflower,繼承的ccparticlesystemquad的,在coc...

cocos2d x 自帶11種粒子特效

粒子效果,存下來以備後用,實現方法很簡單,自己找張粒子,然後將 拷貝到helloworld的init函式裡,就可以實現 粒子特效 效果 ccparticlesystem particlesystem ccparticleexplosion create particlesystem settextu...