本文主要是介绍6 cocos2dx粒子效果,类图关系,系统原生粒子和自定义粒子效果,粒子编译器软件,爆炸粒子效果,烟花效果,火焰效果,流星效果,漩涡粒子效果,雪花效果,烟雾效果,太阳效果,下雨效果,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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; } |
运行结果:
|
这篇关于6 cocos2dx粒子效果,类图关系,系统原生粒子和自定义粒子效果,粒子编译器软件,爆炸粒子效果,烟花效果,火焰效果,流星效果,漩涡粒子效果,雪花效果,烟雾效果,太阳效果,下雨效果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!