【麦可网】Cocos2d-X跨平台游戏开发---学习笔记
第十九课:Cocos2D-X粒子系统1-3
=======================================================================================================================================================================
课程目标:
-Cocos2D-X粒子系统
课程重点:
-Cocos2D-X粒子属性
-Cocos2D-X粒子发射器
考核目标:
-使用Cocos2D-X粒子系统
-使用粒子编辑器
=======================================================================================================================================================================
一、自带粒子
火焰效果 CCTexture2D* fire = CCTextureCache::sharedTextureCache()->addImage("fire.png"); CCParticleSystem* firePatricle = CCParticleFire::create(); firePatricle->setTexture(fire); this->addChild(firePatricle); firePatricle->setPosition(ccp(200,50));
二、手动设置粒子属性
void DemoBigFlower::onEnter() { ParticleDemo::onEnter(); m_emitter = new CCParticleSystemQuad(); m_emitter->initWithTotalParticles(50); //m_emitter->autorelease(); m_background->addChild(m_emitter,10); ////m_emitter->release(); // win32 : use this line or remove this line and use autorelease() m_emitter->setTexture( CCTextureCache::sharedTextureCache()->addImage(s_stars1) ); m_emitter->setDuration(-1); // gravity //重力 m_emitter->setGravity(CCPointZero); // angle //角度 m_emitter->setAngle(90); m_emitter->setAngleVar(360); // speed of particles //速度 m_emitter->setSpeed(160); m_emitter->setSpeedVar(20); // radial //半径 m_emitter->setRadialAccel(-120); m_emitter->setRadialAccelVar(0); // tagential //次要的 m_emitter->setTangentialAccel(30); m_emitter->setTangentialAccelVar(0); // emitter position //发射器位置 m_emitter->setPosition( ccp(160,240) ); m_emitter->setPosVar(CCPointZero); // life of particles //粒子生命 m_emitter->setLife(4); m_emitter->setLifeVar(1); // spin of particles //粒子自旋转 m_emitter->setStartSpin(0); m_emitter->setStartSizeVar(0); m_emitter->setEndSpin(0); m_emitter->setEndSpinVar(0); // color of particles //粒子颜色 ccColor4F startColor = {0.5f,0.5f,1.0f}; m_emitter->setStartColor(startColor); ccColor4F startColorVar = {0.5f,1.0f}; m_emitter->setStartColorVar(startColorVar); ccColor4F endColor = {0.1f,0.1f,0.2f}; m_emitter->setEndColor(endColor); ccColor4F endColorVar = {0.1f,0.2f}; m_emitter->setEndColorVar(endColorVar); // size,in pixels //大小,像素 m_emitter->setStartSize(80.0f); m_emitter->setStartSizeVar(40.0f); m_emitter->setEndSize(kParticleStartSizeEqualToEndSize); // emits per second //每秒发射 m_emitter->setEmissionRate(m_emitter->getTotalParticles()/m_emitter->getLife()); // additive m_emitter->setBlendAdditive(true); setEmitterPosition(); } std::string DemoBigFlower::title() { return "ParticleBigFlower"; }
三、粒子编辑器
ParticleDesigner(Mac) ParticleEditor(windows)
===================================================================
总结:
一般做游戏是采用粒子编辑器,嘿嘿~有预览效果当然好了。
开心一刻:
昨天梦见上帝说可满足我一个愿望我拿出地球仪说要世界和平,他说太难换一个吧,我拿出你的照片说要这人变漂亮,他沉思了一下说拿地球仪我再看看。
【麦可网】Cocos2d-X跨平台游戏开发---教程下载:http://pan.baidu.com/s/1kTio1Av
【麦可网】Cocos2d-X跨平台游戏开发---笔记系列:http://blog.csdn.net/qiulanzhu