加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第十九课:Cocos2

发布时间:2020-12-14 21:37:12 所属栏目:百科 来源:网络整理
导读:【麦可网】 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读