CCParticleSystem粒子系統

CCParticleSystem粒子系統

轉自:http://blog.csdn.net/aa4790139/article/details/8124781

第一次接觸粒子系統,以前遊戲裏面的一些小特效,像製作動畫一樣,是採用一幀一幀的切出來的,由於這種特效,變化無常,切出來的幀,都非常的大,也很耗內存,一下就內存溢出了......呵呵~  主要是以前都沒有接觸過... 現在接觸了,以後遊戲就可以用到了...開心!

複製代碼
//創建一個CCParticleSystem粒子系統
CCParticleSystem* ignore = CCParticleSystemQuad::create("Particles/SmallSun.plist");
//第一種創建節點方式
CCNode *parent1 = CCNode::create();//創建一個節點
//第二種創建節點方式
CCNode *parent2 = CCParticleBatchNode::create(ignore->getTexture());

//第一種:創建一個CCParticleSystemQuad系統:每個粒子用4個點(Quad,矩形)表示的粒子系統

CCParticleSystemQuad *emitter = CCParticleSystemQuad::create("Particles/SmallSun.plist");

//第二種:創建CCParticleSystemQuad系統
m_emitter = new CCParticleSystemQuad();

std::string filename = "Particles/" +“粒子資源文件名字”+ ".plist";
m_emitter->initWithFile(filename.c_str());
複製代碼

下面是一些常用設置:

複製代碼
emitter1->setStartColor(ccc4f(1,0,0,1));//設置粒子RGBA值
emitter1->setBlendAdditive(false);//是否添加混合
emitter1->setPosition(ccp( s.width/2-30,    s.height/2+60*neg));//設置發射粒子的位置
emitter->setAutoRemoveOnFinish(true);//完成後制動移除
//將粒子系統添加到節點(也可以直接將其添加到一個背景精靈CCSprite裏面)

parent1->addChild(emitter1, 0, 1);
//然後在添加到層裏面
layer->addChild(parent1, 10, 1000+i);
複製代碼

CCParticleSystem中的常用設置參數表:

複製代碼
struct {
         //重力和方向的向量
        CCPoint gravity;
        //速度
        float speed;
        //粒子的速度差異
        float speedVar;
        //粒子的切線加速度
        float tangentialAccel;
        //粒子間的切線加速度差異
        float tangentialAccelVar;
        //粒子的徑向加速度
        float radialAccel;
        //粒子間的徑向加速度差異
        float radialAccelVar;
    } modeA;

struct {

        //粒子開始半徑
        float startRadius;
        //粒子間開始半徑差異
        float startRadiusVar;

        //粒子結束半徑
        float endRadius;
        //粒子間結束半徑差異
        float endRadiusVar;            
        //粒子每秒的旋轉角度
        float rotatePerSecond;
        //粒子間每秒的旋轉角度差異        

        float rotatePerSecondVar;
    } modeB;
複製代碼

cocos2dx已經爲我們提供了非常多的粒子系統效果:

 

-- CCParticleSystem(所有粒子系統的父類)
-- CCParticleSystemPoint、CCParticleSystemQuad (點粒子和方形粒子系統,都繼承了CCParticleSystem的所有屬性)
-- CCParticleExplosion (爆炸粒子效果)
-- CCParticleFireworks (煙花粒子效果)
-- CCParticleFire (火焰粒子效果)
-- CCParticleFlower (花束粒子效果)
-- CCParticleGalaxy (星系粒子效果)
-- CCParticleMeteor (流星粒子效果)
-- CCParticleSpiral (漩渦粒子效果)
-- CCParticleSnow (雪粒子效果)
-- CCParticleSmoke (煙粒子效果)
-- CCParticleSun (太陽粒子效果)
-- CCParticleRain (雨粒子效果)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章