Cocos2d-x粒子系统
2024-08-25 09:53:59
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="">
最新文章
- float包裹性与破坏性及清除浮动几种方法
- JAVA学习博客---2015-7
- POJ3013 Big Christmas Tree[转换 最短路]
- 如何用Android Studio打多包名APK
- http://www.cnblogs.com/yjmyzz/p/3941043.html
- 基于bootstrap面板的类别多选栏
- 字符串(后缀自动机):Codeforces Round #129 (Div. 1) E.Little Elephant and Strings
- ionic初体验
- Qt 解压/压缩文件
- jQuery: $.extend()用法总结
- SQL Server通过BCP进行大批量数据导入导出
- 完整安装always on 集群
- python基础(二)列表与字典
- 在线学习和在线凸优化(online learning and online convex optimization)—基础介绍1
- (转)第十一篇:springboot集成swagger2,构建优雅的Restful API
- HTML5 本地文件操作之FileSystemAPI实例(四)
- Android Http 与断点续传
- how to insert js to iframe page in order to disabled open new page/window
- 使用vim-latex排版
- JS--页面返回/跳转/刷新(转载)
热门文章
- 《手把手教你学C语言》学习笔记(6)---数据类型和常量
- C# Stopwatch详解
- LeetCode OJ-- Insertion Sort List **
- HDU 5135.Little Zu Chongzhi's Triangles-字符串 (2014ACM/ICPC亚洲区广州站-重现赛)
- Educational Codeforces Round 40 (Rated for Div. 2)
- 洛谷 P1426 小鱼会有危险吗【模拟/题意理解】
- 模型搭建练习2_实现nn模块、optim、two_layer、dynamic_net
- php中for与foreach对比
- Android程序员的进阶之路
- mac 安装 mysql-python