Cocos2dx 小技巧(九)现成的粒子特效

时间:2023-02-07 21:08:45

转载供以后查询。

http://www.cnblogs.com/cxchanpin/p/6884390.html


和高中的她 差点儿相同有两三年没见面了吧。下午她正好来泉州。我俩出来一起吃了个饭。

怎么说呢,自从高中毕业后我俩的联系就少了非常多。大学期间也就见过两三面吧。

现在毕业也快一年了,她已是人妇,而我自己的感情也是经历的长期的稳定与最近的跌宕。事实上那份感觉一直都不曾改变,变了的是周边不断影响自己的人和事。

你要好好的幸福下去。而我也在争取幸福的路上。

-----

这篇讲的是粒子,事实上我对粒子这一块没什么研究,由于当初刚開始接粗cocos2dx时。总经理和我说粒子这块能够临时不去了解。由于还用不到。他的这话也导致我非常长时间都有意无意的去避开粒子这一块知识。

所以说啊,我也是个菜鸟啊。还有非常多东西不懂。

尽管博客写的还比較多,但水平也就尔尔吧。有的人叫我大神,大侠啥的,请千万别“诅咒”我啊~~~。

由于知识从懵懂到理解的过程是痛苦而又快乐的,每次一学到一个新的知识点后我就想赶紧分享到博客上来,一方面是能够加深自己对该知识点的理解,还有一方面我也想让很多其它人知道这个知识点,少走些弯路...

假设你认为我要解说粒子的原理啥的,那就大错特错了。毕竟技巧性的文章讲究的就是短小可是能够旋转嘛。我就直接将一些能够用的现成粒子特效拉出来扯扯虎皮。以下開始扯:
1、先说雪花特效。去年冬天看过一款游戏,叫部落啥的,它的地图界面一直都有雪花飘来飘去。那时候认为真TM高端大气上档次,现在我就呵呵了。


ParticleSystem* ps = ParticleSnow::create();
//由于偷懒,我直接用helloWorld里的close 图片当雪花
ps->setTexture(Director::getInstance()->getTextureCache()->addImage("CloseSelected.png"));
ps->setPosition(Point(200,200));//生成的雪花从这个坐标往下落
this->addChild(ps,10);
演示效果...自己去想象吧。
假设想控制产生场景中雪花的数量。能够使用以下这个接口。以下几个样例也是一样:
static ParticleSnow* createWithTotalParticles(int numberOfParticles);//參数即是雪花的数量	
2、烟火效果
ParticleSystem* ps = ParticleFireworks::create();
ps->setTexture(Director::getInstance()->getTextureCache()->addImage("CloseSelected.png"));
ps->setPosition(Point(200,200));
this->addChild(ps,10);
3、下雨效果
ParticleSystem* ps = ParticleRain::create();
ps->setTexture(Director::getInstance()->getTextureCache()->addImage("CloseSelected.png"));
ps->setPosition(Point(200,200));
this->addChild(ps,10);
4、烟雾
ParticleSystem* ps = ParticleSmoke::create();//效果实在不咋地
ps->setTexture(Director::getInstance()->getTextureCache()->addImage("CloseSelected.png"));
ps->setPosition(Point(200,200));
this->addChild(ps,10);
5、爆炸
ParticleSystem* ps = ParticleExplosion::create();
ps->setTexture(Director::getInstance()->getTextureCache()->addImage("CloseSelected.png"));
ps->setPosition(Point(200,200));
this->addChild(ps,10);
6、螺旋
ParticleSystem* ps = ParticleSpiral::create();
ps->setTexture(Director::getInstance()->getTextureCache()->addImage("CloseSelected.png"));
ps->setPosition(Point(200,200));
this->addChild(ps,10);
7、流星(用彗星来描写叙述会更贴切一点,由于它拖着一条长长的尾巴)
ParticleSystem* ps = ParticleMeteor::create();
ps->setTexture(Director::getInstance()->getTextureCache()->addImage("CloseSelected.png"));
ps->setPosition(Point(200,200));
this->addChild(ps,10);
8、星云
ParticleSystem* ps = ParticleGalaxy::create();
ps->setTexture(Director::getInstance()->getTextureCache()->addImage("CloseSelected.png"));
ps->setPosition(Point(200,200));
this->addChild(ps,10);
9、太阳( 日 )
ParticleSystem* ps = ParticleSun::create();
ps->setTexture(Director::getInstance()->getTextureCache()->addImage("CloseSelected.png"));
ps->setPosition(Point(200,200));
this->addChild(ps,10);
10、火焰
ParticleSystem* ps = ParticleFire::create();
ps->setTexture(Director::getInstance()->getTextureCache()->addImage("CloseSelected.png"));
ps->setPosition(Point(200,200));
this->addChild(ps,10);

哈哈,写完了。多久没写过这样的复制粘贴的博客了。嘿嘿。