Cocos2dx现成的粒子特效

来源:互联网 发布:linux redis离线安装 编辑:程序博客网 时间:2024/05/05 06:54

函数


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、先说雪花特效。
view sourceprint?
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);
演示效果...自己去想象吧。
如果想控制产生场景中雪花的数量,可以使用下面这个接口,下面几个例子也是一样:
view sourceprint?
1.static ParticleSnow* createWithTotalParticles(int numberOfParticles);//参数即是雪花的数量   
2、烟火效果
view sourceprint?
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);
3、下雨效果
view sourceprint?
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);
4、烟雾
view sourceprint?
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);
5、爆炸
view sourceprint?
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);
6、螺旋
view sourceprint?
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);
7、流星(用彗星来描述会更贴切一点,因为它拖着一条长长的尾巴)
view sourceprint?
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);
8、星云
view sourceprint?
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);
9、太阳( 日 )
view sourceprint?
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);
10、火焰
view sourceprint?
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);
0 0
原创粉丝点击