晓石头的博客
邮箱:178673693@qq.com
转载请注明出处,原文链接:http://www.jb51.cc/article/p-diecaqxz-vx.html
效果演示
一、整体实现点击每一个菜单选项,显示相应的的特效。分别对应:流星、烟花、火焰、下雪、下雨。
二、单个详解流星:
1、粒子系统CCParticleMeteor创建流星效果
2、定时器移动位置产生坠落效果
voID HelloWorld::fallingStar(Ref* ref){ static int isSchedule = 0; //控制scheduleUpdate只注册一次 /* 创建背景精灵 */ Sprite* bkSNow = Sprite::create("bkSky.jpg"); bkSNow->setposition(Point(size.wIDth / 2,size.height / 2)); this->addChild(bkSNow); //流星效果 shootingStar = CCParticleMeteor::create(); shootingStar->setTexture(CCTextureCache::sharedTextureCache()->addImage("fire.png")); shootingStar->setposition(Point(size.wIDth / 2,size.height / 2)); addChild(shootingStar); if (0 == isSchedule) { isSchedule++; this->scheduleUpdate(); } return;}voID HelloWorld::update(float t){ /* 流星坠落效果 */ shootingStar->setpositionX(shootingStar->getpositionX() + 4); shootingStar->setpositionY(shootingStar->getpositionY() - 2); if (shootingStar->getpositionX() > 480 || shootingStar->getpositionY() < 0) { shootingStar->setpositionX(0); shootingStar->setpositionY(size.height); }}
==================================================================
烟花:
粒子系统CCParticleFireworks创建烟花效果
voID HelloWorld::fireBoom(Ref* ref){ /* 创建背景精灵 */ Sprite* bkSNow = Sprite::create("bkSky.jpg"); bkSNow->setposition(Point(size.wIDth / 2,size.height / 2)); this->addChild(bkSNow); //烟花效果 CCParticleSystem* particleSystem1 = CCParticleFireworks::create(); particleSystem1->setTexture(CCTextureCache::sharedTextureCache()->addImage("fire.png")); particleSystem1->setposition(Point(80,0)); addChild(particleSystem1); CCParticleSystem* particleSystem2 = CCParticleFireworks::create(); particleSystem2->setTexture(CCTextureCache::sharedTextureCache()->addImage("fire.png")); particleSystem2->setposition(Point(240,0)); addChild(particleSystem2); CCParticleSystem* particleSystem3 = CCParticleFireworks::create(); particleSystem3->setTexture(CCTextureCache::sharedTextureCache()->addImage("fire.png")); particleSystem3->setposition(Point(400,0)); addChild(particleSystem3); return;}
==================================================================
火焰:
粒子系统CCParticleFire创建火焰效果
voID HelloWorld::flame(Ref* ref){ /* 创建背景精灵 */ Sprite* bkSNow = Sprite::create("bkFire.jpg"); bkSNow->setposition(Point(size.wIDth / 2,size.height / 2)); this->addChild(bkSNow); //火焰效果 CCParticleSystem* particleSystem = CCParticleFire::create(); particleSystem->setposition(Point(250,130)); particleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("fire.png")); addChild(particleSystem); return;}
==================================================================
雪花:
粒子系统CCParticleSNow创建雪花效果。
voID HelloWorld::sNow(Ref* ref){ /* 创建背景精灵 */ Sprite* bkSNow = Sprite::create("bkSNow.png"); bkSNow->setposition(Point(size.wIDth / 2,size.height / 2)); this->addChild(bkSNow); /* 雪花效果 */ CCParticleSystem* particleSystem = CCParticleSNow::create(); //创建粒子系统 particleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("sNow.png")); //设置纹理 particleSystem->setSpeed(5.0f); //下雪的速度 this->addChild(particleSystem); return;}
==================================================================
下雨:
粒子系统CCParticleRain创建下雨效果。
voID HelloWorld::rain(Ref* ref){ /* 创建背景精灵 */ Sprite* bkSNow = Sprite::create("bkRain.jpg"); bkSNow->setposition(Point(size.wIDth / 2,size.height / 2)); this->addChild(bkSNow); /* 下雨效果 */ CCParticleSystem* particleSystem = CCParticleRain::create(); particleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("sNow.png")); particleSystem->setSpeed(300.0f); addChild(particleSystem); return;}
更多的粒子效果,移步@song_hui_xiang的博客:http://www.jb51.cc/article/p-bfwzzrss-nk.html
源代码免积分下载地址:http://download.csdn.net/detail/qiulanzhu/9039203
总结以上是内存溢出为你收集整理的Cocos2D游戏之旅(六):流星、烟花、火焰、下雪、下雨粒子特效全部内容,希望文章能够帮你解决Cocos2D游戏之旅(六):流星、烟花、火焰、下雪、下雨粒子特效所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)