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="">

最新文章

  1. float包裹性与破坏性及清除浮动几种方法
  2. JAVA学习博客---2015-7
  3. POJ3013 Big Christmas Tree[转换 最短路]
  4. 如何用Android Studio打多包名APK
  5. http://www.cnblogs.com/yjmyzz/p/3941043.html
  6. 基于bootstrap面板的类别多选栏
  7. 字符串(后缀自动机):Codeforces Round #129 (Div. 1) E.Little Elephant and Strings
  8. ionic初体验
  9. Qt 解压/压缩文件
  10. jQuery: $.extend()用法总结
  11. SQL Server通过BCP进行大批量数据导入导出
  12. 完整安装always on 集群
  13. python基础(二)列表与字典
  14. 在线学习和在线凸优化(online learning and online convex optimization)—基础介绍1
  15. (转)第十一篇:springboot集成swagger2,构建优雅的Restful API
  16. HTML5 本地文件操作之FileSystemAPI实例(四)
  17. Android Http 与断点续传
  18. how to insert js to iframe page in order to disabled open new page/window
  19. 使用vim-latex排版
  20. JS--页面返回/跳转/刷新(转载)

热门文章

  1. 《手把手教你学C语言》学习笔记(6)---数据类型和常量
  2. C# Stopwatch详解
  3. LeetCode OJ-- Insertion Sort List **
  4. HDU 5135.Little Zu Chongzhi's Triangles-字符串 (2014ACM/ICPC亚洲区广州站-重现赛)
  5. Educational Codeforces Round 40 (Rated for Div. 2)
  6. 洛谷 P1426 小鱼会有危险吗【模拟/题意理解】
  7. 模型搭建练习2_实现nn模块、optim、two_layer、dynamic_net
  8. php中for与foreach对比
  9. Android程序员的进阶之路
  10. mac 安装 mysql-python