函数
1.特效
CCParticleExplosion //爆炸粒子特效
CCParticleFire //火焰粒子特效
CCParticleFlower //花束粒子特效
CCParticleFireworks //烟花粒子特效
CCParticleGalaxy //星系粒子特效
CCParticleMeteor //流星粒子特效
CCParticleRain //下雨粒子特效
CCParticleSmoke //烟雾粒子特效
CCParticleSnow //下雪粒子特效
CCParticleSpiral //漩涡粒子特效
CCParticleSun //太阳粒子特效
2.函数
setTexture();
//设置特效贴图。这里注意。老版本中如果不设置这项会报错退出。2.1.4中不设置可以使用。
setAutoRemoveOnFinish(bool);
//设置自动释放true为自动释放。
setPositionType()
//设置移动类型
kCCPositionTypeFree//自由模式。粒子不予发射器联系,发射后粒子走自己的轨道,可以做出焰尾。
kCCPositionTypeRelative//相对模式。粒子发射器随节点移动而移动。
kCCPositionTypeGrouped//相对模式。粒子随发射器移动而移动。
3.自定义
CCParticleSystemQuad::create();
这个函数是用来加载自定义的plist文件的。怎么自定义呢?我们使用工具“红孩儿工具箱”就能做自定义特效了。
1、先说雪花特效。
1.
ParticleSystem* ps = ParticleSnow::create();
2.
//因为偷懒,我直接用helloWorld里的close 图片当雪花
3.
ps->setTexture(Director::getInstance()->getTextureCache()->addImage(
"CloseSelected.png"
));
4.
ps->setPosition(Point(
200
,
200
));
//生成的雪花从这个坐标往下落
5.
this
->addChild(ps,
10
);
如果想控制产生场景中雪花的数量,可以使用下面这个接口,下面几个例子也是一样:
1.
static
ParticleSnow* createWithTotalParticles(
int
numberOfParticles);
//参数即是雪花的数量
1.
ParticleSystem* ps = ParticleFireworks::create();
2.
ps->setTexture(Director::getInstance()->getTextureCache()->addImage(
"CloseSelected.png"
));
3.
ps->setPosition(Point(
200
,
200
));
4.
this
->addChild(ps,
10
);
1.
ParticleSystem* ps = ParticleRain::create();
2.
ps->setTexture(Director::getInstance()->getTextureCache()->addImage(
"CloseSelected.png"
));
3.
ps->setPosition(Point(
200
,
200
));
4.
this
->addChild(ps,
10
);
1.
ParticleSystem* ps = ParticleSmoke::create();
//效果实在不咋地
2.
ps->setTexture(Director::getInstance()->getTextureCache()->addImage(
"CloseSelected.png"
));
3.
ps->setPosition(Point(
200
,
200
));
4.
this
->addChild(ps,
10
);
1.
ParticleSystem* ps = ParticleExplosion::create();
2.
ps->setTexture(Director::getInstance()->getTextureCache()->addImage(
"CloseSelected.png"
));
3.
ps->setPosition(Point(
200
,
200
));
4.
this
->addChild(ps,
10
);
1.
ParticleSystem* ps = ParticleSpiral::create();
2.
ps->setTexture(Director::getInstance()->getTextureCache()->addImage(
"CloseSelected.png"
));
3.
ps->setPosition(Point(
200
,
200
));
4.
this
->addChild(ps,
10
);
1.
ParticleSystem* ps = ParticleMeteor::create();
2.
ps->setTexture(Director::getInstance()->getTextureCache()->addImage(
"CloseSelected.png"
));
3.
ps->setPosition(Point(
200
,
200
));
4.
this
->addChild(ps,
10
);
1.
ParticleSystem* ps = ParticleGalaxy::create();
2.
ps->setTexture(Director::getInstance()->getTextureCache()->addImage(
"CloseSelected.png"
));
3.
ps->setPosition(Point(
200
,
200
));
4.
this
->addChild(ps,
10
);
1.
ParticleSystem* ps = ParticleSun::create();
2.
ps->setTexture(Director::getInstance()->getTextureCache()->addImage(
"CloseSelected.png"
));
3.
ps->setPosition(Point(
200
,
200
));
4.
this
->addChild(ps,
10
);
1.
ParticleSystem* ps = ParticleFire::create();
2.
ps->setTexture(Director::getInstance()->getTextureCache()->addImage(
"CloseSelected.png"
));
3.
ps->setPosition(Point(
200
,
200
));
4.
this
->addChild(ps,
10
);