CCparticleSystem类封装实现对粒子的控制与调度,当中操作包含有:

1、产生粒子

2、更新粒子状态

3、回收无效的粒子

CCparticleSystem派生出CCParticleSystemPoint(重力式粒子系统)和CCParticleSystemQuad(放射性粒子系统)

粒子效果有:

CCParticleExplosion (爆炸粒子效果)
CCParticleFireworks (烟花粒子效果)
CCParticleFire (火焰粒子效果)
CCParticleFlower (花束粒子效果)
CCParticleGalaxy (星系粒子效果)
CCParticleMeteor (流星粒子效果)
CCParticleSpiral (漩涡粒子效果)
CCParticleSnow (雪粒子效果)
CCParticleSmoke (烟粒子效果)
CCParticleSun (太阳粒子效果)
CCParticleRain (雨粒子效果)

实例:

1、通过制定纹理图片创建粒子效果

	CCParticleSystem *particle = CCParticleExplosion::create();
particle->setTexture(CCTextureCache::sharedTextureCache()->addImage("fire.png"));
particle->setAutoRemoveOnFinish(true);
this->addChild(particle);

2、依据属性创建放射性粒子系统(无重力)CCParticleSystemQuad

CCParticleSystem *m_emitter;
m_emitter = new CCParticleSystemQuad();
m_emitter->initWithTotalParticles(300);
//设置纹理
m_emitter->setTexture(CCTextureCache::sharedTextureCache()->addImage("fire.png"));
m_emitter->setDuration(-1);
//对齐
m_emitter->setGravity(CCPointZero);
//角度
m_emitter->setAngle(90);
m_emitter->setAngleVar(360);
//速度
m_emitter->setSpeed(160);
m_emitter->setSpeedVar(20);
//生命周期
m_emitter->setLife(4);
m_emitter->setLifeVar(1);
//粒子旋转
m_emitter->setStartSpin(0);
m_emitter->setStartSizeVar(0);
m_emitter->setEndSpin(0);
m_emitter->setEndSpinVar(0);
//粒子颜色
ccColor4F startColor = {0.5f,0.5f,0.5f,0.5f};
m_emitter->setStartColor(startColor);
ccColor4F startColor2 = {0.5f,0.5f,0.5f,1.0f};
m_emitter->setStartColorVar(startColor2);
ccColor4F startColor3 = {0.1f,0.1f,0.1f,0.2f};
m_emitter->setEndColor(startColor3);
ccColor4F startColor4 = {0.1f,0.1f,0.1f,0.2f} ;
m_emitter->setEndColorVar(startColor4);
//粒子尺寸
m_emitter->setStartSize(20.0f);
m_emitter->setStartSizeVar(10.0f);
m_emitter->setEndSize(32.0f);
m_emitter->setEndSizeVar(8.0f);
//每秒出现粒子数
m_emitter->setEmissionRate(m_emitter->getTotalParticles()/m_emitter->getLife()); // 每秒产生粒子数 = 粒子总数/存活时间 ;
//位置
m_emitter->setPosition(ccp(visibleSize.width/2, visibleSize.height/2));
this->addChild(m_emitter);

效果:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvb3lhbmd5dWZ1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

Cocos2d-x粒子系统的更多相关文章

  1. Cocos2d粒子系统二

    粒子系统的属性: 粒子的发射速度 重力模式(模式A): 重力 方向 速度 +- 变动 切向加速度 +- 变动 径向加速度 +- 变动 半径模式(模式B): 开始半径 +- 变动 结束半径 +- 变动 ...

  2. [原创]cocos2d-x研习录-第三阶 特性之粒子系统

    我想接触过游戏引擎的同学,对粒子系统应该不会陌生.它用于解决由大量按一定规则运动(变化)的微小物质在计算机上的生成和显示问题.粒子系统在游戏中有着非常广泛的应用,可以模拟很多现象,如火花.爆炸.烟雾. ...

  3. 粒子系统1:简介&工具使用

    直接使用工具来感受一下粒子系统的强大威力吧. 网络上有很多粒子编辑器,大多数都是收费的.magicalsoft提供了一个免费的粒子编辑器(该工具目前只有mac版本),界面如下: 我们将针对这个编辑器来 ...

  4. cocos2d粒子效果

    第9章 粒子效果 游戏开发者通常使用粒子系统来制作视觉特效.粒子系统能够发射大量细小的粒子并对他们进行渲染,而且效率要远高于渲染同样数目的精灵.粒子系统可以模拟下雨.火焰.雪.爆炸.蒸气拖尾以及其他多 ...

  5. Cocos2d-x内置粒子系统

    从类图中我们可以看到,Cocos2d-x中有内置的11粒子,这些粒子的属性都是预先定义好的,我们也可以在程序代码中单独修改某些属性,我们在上一节的实例中都已经实现了这些属性的设置. 内置粒子系统 内置 ...

  6. cocos2d-js 粒子系统使用自定义图片,还原原来的图片宽高

    粒子系统使用自定义图片很简单只需要在plist最后一行设置png的名称即可.但是,在实际使用中,发现自定义图片无法使用原来的形状,例如设置了一长条的图片,结果出来确实一个个圆球. 翻了plist和cc ...

  7. 基于OpenGL编写一个简易的2D渲染框架-06 编写一个粒子系统

    在这篇文章中,我将详细说明如何编写一个简易的粒子系统. 粒子系统可以模拟许多效果,下图便是这次的粒子系统的显示效果.为了方便演示,就弄成了一个动图. 图中,同时显示了 7 种不同粒子效果,看上去效果挺 ...

  8. cocos2d-x开发记录:二,基本概念(粒子系统,Scheduler和定时器)

    七,粒子系统 1.导言 术语粒子系统是指计算机图形学技术,它使用大量非常小的精灵或其他图形对象来模拟某些种类的“模糊”现象,于传统渲染技术相比,它很难复制.通常是高度混沌无序的系统,自然现象.化学反应 ...

  9. cocos2d 粒子效果以及Particle Designer粒子工具的学习

    最近在学习cocos2d中的粒子效果吧,下面就把学到的和大家分享下吧! Now!我们先了解下类结构吧 -- CCParticleSystem(所有粒子系统的父类) -- CCParticleSyste ...

  10. cocos2d-x ios游戏开发初认识(九) 音效、粒子系统与存储

    我们知道.一个游戏少不了声音.一些好听的声音会提起你对游戏的兴趣,当然做好听的声音不是我们要学的,我们的目的是把声音在适当的时候放出来.顺便在这节中会说下简单的粒子系统和文件存储. 一.声音的播放: ...

随机推荐

  1. 显示3行,还要省略号(这个属性比较合适WebKit浏览器或移动端(绝大部分是WebKit内核的)浏览器)

    div{ overflow : hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp:; -webkit- ...

  2. check source code after macro expand

    Some time I'd like check source code after macro expand. We can use -E option to stop after the prep ...

  3. UITextView只能显示两行问题

    需求:UITextView只能显示两行 UITextView * textView = [[UITextView alloc]init]; textView.frame = CGRectMake(20 ...

  4. git tag 的使用

    // 查看tag,列出所有tag,列出的tag是按字母排序的,和创建时间没关系. $ git tag v0.1 v1.3 /查看指定版本的tag,git tag -l “v1.4.2.**” $ gi ...

  5. Ceres Solver: 高效的非线性优化库(一)

    Ceres Solver: 高效的非线性优化库(一) 注:本文基于Ceres官方文档,大部分由英文翻译而来.可作为非官方参考文档. 简介 Ceres,原意是谷神星,是发现不久的一颗轨道在木星和火星之间 ...

  6. 某考试T1 game

    题目背景 无 题目描述 Alice 和 Bob 在一个圆环上玩游戏.圆环上有 n 个位置,按照顺时针顺序 依次标号为 1 到 n.Alice 和 Bob 分别有一个数字集合,集合中都是在 [1, n− ...

  7. 2016集训测试赛(二十)Problem B: 字典树

    题目大意 你们自己感受一下原题的画风... 我怀疑出题人当年就是语文爆零的 下面复述一下出题人的意思: 操作1: 给你一个点集, 要你在trie上找到所有这样的点, 满足点集中存在某个点所表示的字符串 ...

  8. 解决php中redis client进行subscribe操作出现timeout的问题

    出现该问题的原因是poll设置接收超时所致,这个超时默认设置60s 设置Redis::OPT_READ_TIMEOUT配置项: 解决方法如下: <?php $redis = new Redis( ...

  9. ubuntu 安装花生壳

    由于无线路由的IP总是变换,所以想在机器上装一个花生壳,然后通过域名来访问这个机器,这样就算IP变了也没有关系.我的机器的系统是ubuntu 12.04 desktop  cd 到一个目录,我用的是D ...

  10. Form元素示例

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...