【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第十九课:Cocos2D-X粒子系统1-3

前端之家收集整理的这篇文章主要介绍了【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第十九课:Cocos2D-X粒子系统1-3前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

【麦可网】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

原文链接:https://www.f2er.com/cocos2dx/342471.html

猜你在找的Cocos2d-x相关文章