6 cocos2dx粒子效果,类图关系,系统原生粒子和自定义粒子效果,粒子编译器软件,爆炸粒子效果,烟花效果,火焰效果,流星效果,漩涡粒子效果,雪花效果,烟雾效果,太阳效果,下雨效果-阿里云开发者社区

开发者社区> 开发与运维> 正文

6 cocos2dx粒子效果,类图关系,系统原生粒子和自定义粒子效果,粒子编译器软件,爆炸粒子效果,烟花效果,火焰效果,流星效果,漩涡粒子效果,雪花效果,烟雾效果,太阳效果,下雨效果

简介:  1 粒子 示例 2 类图关系 3 系统原生粒子 CCParticleSystem 所有粒子系统的父类 CCParticleSystemPoint、 CCParticleSystemQuad 点粒子和方形粒子系统,都继承了CCParti


1 粒子

示例

2 类图关系

3 系统原生粒子

CCParticleSystem

所有粒子系统的父类

CCParticleSystemPoint

CCParticleSystemQuad

点粒子和方形粒子系统,都继承了CCParticleSystem的所有属性

CCParticleExplosion

爆炸粒子效果

CCParticleFireworks

烟花粒子效果

CCParticleFire

火焰粒子效果

CCParticleMetepr

流行粒子效果

CCParticleSpiral

漩涡粒子效果

CCParticleSnow

雪粒子效果

CCParticleSmoke

烟粒子效果

CCParticleSun

太阳粒子效果

CCParticleRain

雨粒子效果

4 代码

//CCParticleExplosion * particle = CCParticleExplosion::create();

//CCParticleFireworks * particle = CCParticleFireworks::create();

//CCParticleFire * particle = CCParticleFire::create();

//CCParticleMeteor * particle = CCParticleMeteor::create();

//CCParticleSpiral * particle = CCParticleSpiral::create();

//CCParticleSnow * particle = CCParticleSnow::create();

//CCParticleSmoke * particle = CCParticleSmoke::create();

//CCParticleSun * particle = CCParticleSun::create();

CCParticleRain * particle = CCParticleRain::create();

 

particle->setPosition(ccp(240, 160));

addChild(particle);

5 手动制作粒子系统

粒子编译器软件

编辑好后生成xx.plist文件

CCParticleSystemQuad * particle = CCParticleSystemQuad::create("ring.plist");

particle->setPosition(ccp(240, 160));

addChild(particle);

particle->setDuration(4);

6 案例

爆炸粒子效果

T21Particle.h

#ifndef __T12Particle_H__

#define __T12Particle_H__

#include "cocos2d.h"

#include "TBack.h"

USING_NS_CC;

class T21Particle :public TBack

{

public:

    static CCScene * scene();

    CREATE_FUNC(T21Particle);

    bool init();

 

};

 

#endif

T21Particle.cpp

#include "T21Particle.h"

#include "AppMacros.h"

 

CCScene * T21Particle::scene()

{

    CCScene * scene = CCScene::create();

    T21Particle * layer = T21Particle::create();

    scene->addChild(layer);

    return scene;

}

 

bool T21Particle::init()

{

    TBack::init();

   

    //爆炸粒子效果

    CCParticleExplosion * particle = CCParticleExplosion::create();

   

    addChild(particle);

   

    return true;

}

运行效果:

烟花效果

#include "T21Particle.h"

#include "AppMacros.h"

 

CCScene * T21Particle::scene()

{

    CCScene * scene = CCScene::create();

    T21Particle * layer = T21Particle::create();

    scene->addChild(layer);

    return scene;

}

 

bool T21Particle::init()

{

    TBack::init();

   

    //烟花效果

    CCParticleFireworks * particle = CCParticleFireworks::create();

   

    //设置位置显示位置

    particle->setPosition(ccp(winSize.width / 2,winSize.height / 4));

    //设置时间间隔

    particle->setDuration(20);

    addChild(particle);

   

    return true;

}

运行结果:

火焰效果:

#include "T21Particle.h"

#include "AppMacros.h"

 

CCScene * T21Particle::scene()

{

    CCScene * scene = CCScene::create();

    T21Particle * layer = T21Particle::create();

    scene->addChild(layer);

    return scene;

}

 

bool T21Particle::init()

{

    TBack::init();

   

    //火焰效果

    CCParticleFire * particle = CCParticleFire::create();

   

    //设置位置显示位置

    particle->setPosition(ccp(winSize.width / 2,winSize.height / 4));

    //设置时间间隔

    particle->setDuration(20);

    addChild(particle);

   

    return true;

}

流星效果:

#include "T21Particle.h"

#include "AppMacros.h"

 

CCScene * T21Particle::scene()

{

    CCScene * scene = CCScene::create();

    T21Particle * layer = T21Particle::create();

    scene->addChild(layer);

    return scene;

}

 

bool T21Particle::init()

{

    TBack::init();

   

    //流星粒子效果

    CCParticleMeteor * particle = CCParticleMeteor::create();

   

    //设置位置显示位置

    particle->setPosition(ccp(winSize.width / 2,winSize.height / 4));

    //设置时间间隔

    particle->setDuration(20);

    addChild(particle);

   

    return true;

}

运行效果:

漩涡粒子效果

#include "T21Particle.h"

#include "AppMacros.h"

 

CCScene * T21Particle::scene()

{

    CCScene * scene = CCScene::create();

    T21Particle * layer = T21Particle::create();

    scene->addChild(layer);

    return scene;

}

 

bool T21Particle::init()

{

    TBack::init();

   

    //流行粒子效果

    CCParticleSpiral * particle = CCParticleSpiral::create();

   

    //设置位置显示位置

    particle->setPosition(ccp(winSize.width / 2,winSize.height / 4));

    //设置时间间隔

    particle->setDuration(20);

    addChild(particle);

   

    return true;

}

运行效果:

雪花效果:

#include "T21Particle.h"

#include "AppMacros.h"

 

CCScene * T21Particle::scene()

{

    CCScene * scene = CCScene::create();

    T21Particle * layer = T21Particle::create();

    scene->addChild(layer);

    return scene;

}

 

bool T21Particle::init()

{

    TBack::init();

   

    //雪花效果

    CCParticleSnow * particle = CCParticleSnow::create();

   

    //设置位置显示位置

    particle->setPosition(ccp(winSize.width / 2,winSize.height));

    //设置时间间隔

    particle->setDuration(20);

    addChild(particle);

   

    return true;

}

运行效果:

烟雾效果:

#include "T21Particle.h"

#include "AppMacros.h"

 

CCScene * T21Particle::scene()

{

    CCScene * scene = CCScene::create();

    T21Particle * layer = T21Particle::create();

    scene->addChild(layer);

    return scene;

}

 

bool T21Particle::init()

{

    TBack::init();

   

    //烟雾效果

    CCParticleSmoke * particle = CCParticleSmoke::create();

   

    //设置位置显示位置

    particle->setPosition(ccp(winSize.width / 2,winSize.height/3));

    //设置时间间隔

    particle->setDuration(20);

    addChild(particle);

   

    return true;

}

运行结果:

太阳效果

#include "T21Particle.h"

#include "AppMacros.h"

 

CCScene * T21Particle::scene()

{

    CCScene * scene = CCScene::create();

    T21Particle * layer = T21Particle::create();

    scene->addChild(layer);

    return scene;

}

 

bool T21Particle::init()

{

    TBack::init();

   

    //太阳效果

    CCParticleSun * particle = CCParticleSun::create();

   

    //设置位置显示位置

    particle->setPosition(ccp(winSize.width / 2,winSize.height/3));

    //设置时间间隔

    particle->setDuration(20);

    addChild(particle);

   

    return true;

}

运行效果:

下雨效果

#include "T21Particle.h"

#include "AppMacros.h"

 

CCScene * T21Particle::scene()

{

    CCScene * scene = CCScene::create();

    T21Particle * layer = T21Particle::create();

    scene->addChild(layer);

    return scene;

}

 

bool T21Particle::init()

{

    TBack::init();

   

    //细雨效果

    CCParticleRain * particle = CCParticleRain::create();

    //particle->setRotation(90);

   

    //设置位置显示位置

    particle->setPosition(ccp(winSize.width / 2,winSize.height));

    //设置时间间隔

    particle->setDuration(20);

    addChild(particle);

   

    return true;

}

运行结果:

7 通过自定义的.plist文件作出粒子效果

案例:

环形效果

#include "T21Particle.h"

#include "AppMacros.h"

 

CCScene * T21Particle::scene()

{

    CCScene * scene = CCScene::create();

    T21Particle * layer = T21Particle::create();

    scene->addChild(layer);

    return scene;

}

 

bool T21Particle::init()

{

    TBack::init();

   

    CCParticleSystemQuad * particle = CCParticleSystemQuad::create("ring.plist");

   

    //设置位置显示位置

    particle->setPosition(ccp(winSize.width / 2,winSize.height / 2));

    //设置时间间隔

    particle->setDuration(20);

    addChild(particle);

   

    return true;

}

运行结果:

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章