1,批处理类ParticleBatchNode
2, 粒子系统类ParticleSystem
3, 粒子系统子类 ParticleSystemQuad
爆炸效果:ParticleExplosion;
火球效果: ParticleFire
14.2.1 粒子批处理类ParticleBatchNode
initWithFile
initWithTexture
disableParticle;
setBlendFunc/getBlendFunc;
updateAllAtlasIndexes;
increaseAtlasCapacityTo;
getCurrentIndex;
searchNewPositionInChildernForZ;
代码实例:
bool HelloWorld::init()
{
//
// 1. super init first
if ( !Layer::init() )
{
return false;
}
Size visibleSize = Director::getInstance()->getVisibleSize();
Vec2 origin = Director::getInstance()->getVisibleOrigin();
// 创建精灵类
auto sprite = Sprite::create("taotaoahui.jpg");
//sprite->setPosition(ccp(visibleSize.width / 2, visibleSize.height / 2));
sprite->setAnchorPoint(ccp(0,0));
addChild(sprite,1);
// ParticleBatchNode 使用方法,
auto _emitter = ParticleSystemQuad::create("Particles/taotao.xml.particle.plist");// 首先创建ParticleSystemQuad或者ParticleSystem
_emitter->retain();
auto batch = ParticleBatchNode::createWithTexture(_emitter->getTexture());
batch->addChild(_emitter);
batch->setPosition(ccp(visibleSize.width /2 , visibleSize.height /2 )); // sjt
this->addChild(batch, 10);
return true;
}