Cocos2d-x粒子系统
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粒子系统的更多相关文章
- Cocos2d粒子系统二
粒子系统的属性: 粒子的发射速度 重力模式(模式A): 重力 方向 速度 +- 变动 切向加速度 +- 变动 径向加速度 +- 变动 半径模式(模式B): 开始半径 +- 变动 结束半径 +- 变动 ...
- [原创]cocos2d-x研习录-第三阶 特性之粒子系统
我想接触过游戏引擎的同学,对粒子系统应该不会陌生.它用于解决由大量按一定规则运动(变化)的微小物质在计算机上的生成和显示问题.粒子系统在游戏中有着非常广泛的应用,可以模拟很多现象,如火花.爆炸.烟雾. ...
- 粒子系统1:简介&工具使用
直接使用工具来感受一下粒子系统的强大威力吧. 网络上有很多粒子编辑器,大多数都是收费的.magicalsoft提供了一个免费的粒子编辑器(该工具目前只有mac版本),界面如下: 我们将针对这个编辑器来 ...
- cocos2d粒子效果
第9章 粒子效果 游戏开发者通常使用粒子系统来制作视觉特效.粒子系统能够发射大量细小的粒子并对他们进行渲染,而且效率要远高于渲染同样数目的精灵.粒子系统可以模拟下雨.火焰.雪.爆炸.蒸气拖尾以及其他多 ...
- Cocos2d-x内置粒子系统
从类图中我们可以看到,Cocos2d-x中有内置的11粒子,这些粒子的属性都是预先定义好的,我们也可以在程序代码中单独修改某些属性,我们在上一节的实例中都已经实现了这些属性的设置. 内置粒子系统 内置 ...
- cocos2d-js 粒子系统使用自定义图片,还原原来的图片宽高
粒子系统使用自定义图片很简单只需要在plist最后一行设置png的名称即可.但是,在实际使用中,发现自定义图片无法使用原来的形状,例如设置了一长条的图片,结果出来确实一个个圆球. 翻了plist和cc ...
- 基于OpenGL编写一个简易的2D渲染框架-06 编写一个粒子系统
在这篇文章中,我将详细说明如何编写一个简易的粒子系统. 粒子系统可以模拟许多效果,下图便是这次的粒子系统的显示效果.为了方便演示,就弄成了一个动图. 图中,同时显示了 7 种不同粒子效果,看上去效果挺 ...
- cocos2d-x开发记录:二,基本概念(粒子系统,Scheduler和定时器)
七,粒子系统 1.导言 术语粒子系统是指计算机图形学技术,它使用大量非常小的精灵或其他图形对象来模拟某些种类的“模糊”现象,于传统渲染技术相比,它很难复制.通常是高度混沌无序的系统,自然现象.化学反应 ...
- cocos2d 粒子效果以及Particle Designer粒子工具的学习
最近在学习cocos2d中的粒子效果吧,下面就把学到的和大家分享下吧! Now!我们先了解下类结构吧 -- CCParticleSystem(所有粒子系统的父类) -- CCParticleSyste ...
- cocos2d-x ios游戏开发初认识(九) 音效、粒子系统与存储
我们知道.一个游戏少不了声音.一些好听的声音会提起你对游戏的兴趣,当然做好听的声音不是我们要学的,我们的目的是把声音在适当的时候放出来.顺便在这节中会说下简单的粒子系统和文件存储. 一.声音的播放: ...
随机推荐
- 关于Delphi cxGrid主从表中从表只能编辑第一条记录的问题
在Delphi cxGrid主从表中从表只能编辑第一条记录,这个问题是由于设置主从关联字段错误造成的. 从表DBtableView2的keyfieldnames,DetailKeyFieldNames ...
- 【CF1029B】Creating the Contest(贪心)
题意: n<=2e5 思路:可以证明答案一定是极长的一段中取最大值 #include<cstdio> #include<cstring> #include<stri ...
- 从数据库的表导出到Excel表格中【让客户端下载的Excel】
原文发布时间为:2008-10-11 -- 来源于本人的百度文章 [由搬家工具导入] 这个例子是从gridview中导出到Excel,可以举一反三,可以直接从数据库中取值放在DataSet中,然后再从 ...
- (二)docker的部署安装,配置,基础命令
一.docker 的安装部署 这里不过多介绍,下面这两个linux发型版 安装可以参考 ubuntu的 docker-ce安装 centos7的 docker-ce安装 二.docker配置文件 重要 ...
- php类中静态变量与常亮的区别
在效率上:常量编译过程比静态变量快的多. 代码: <?php error_reporting(E_ALL); class A { const c = 9; public static $b = ...
- Concurrency(Locking, Blocking and Row Versioning)
https://www.simple-talk.com/sql/t-sql-programming/row-versioning-concurrency-in-sql-server/?utm_sour ...
- xshell登录到CentOS7上时出现“The remote SSH server rejected X11 forwarding request.
其原因是肯能对openssh版本进行了升级. 解决方法为: yum install xorg-x11-font* xorg-x11-xauth /etc/ssh/sshd ...
- mysql赋给用户权限grant all privileges on
查看mysql用户表的结构,Field项都是各类权限限制 Host限制登录的IP,User限制登录的用户,Delete_priv限制删除权限,Grant_priv限制权限授予,Super_priv为超 ...
- DailyMasalaCMS升级记录
手头上是一个比较老的工程,Jdk1.7 + Tomcat7.0 + Spring 3.x + Hibernate 3.x + Elasticseach 2.x 最近Elasticsearch升级,ja ...
- Vbs脚本经典教材
转载:http://www.cnblogs.com/BeyondTechnology/archive/2011/01/10/1932440.html Vbs脚本经典教材(最全的资料还是MSDN) —为 ...