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游戏开发初认识(九) 音效、粒子系统与存储
我们知道.一个游戏少不了声音.一些好听的声音会提起你对游戏的兴趣,当然做好听的声音不是我们要学的,我们的目的是把声音在适当的时候放出来.顺便在这节中会说下简单的粒子系统和文件存储. 一.声音的播放: ...
随机推荐
- 教学生jni编程(一)
我的所有文件的目录在/home/michelle/WORKM/DAYCODE/day0426/,请根据个人情况适当调整 1)创建一个HelloWorld.Java文件,如下: public class ...
- linux下不是很完美的提高android虚拟机的启动速度
去年双十一换的新电脑,华硕vivo4000的,配置的不算很好,4k的屏幕:3840×2160, 940M的显卡, core i7的CPU, 8G的内存,硬盘是1T的机械硬盘,除了硬盘基本感觉还可以吧. ...
- vim配置文件解析
我的vim配置文件如下: "根据时段的不同自动选择不同的配色方案 ""if strftime("%H") < 6 "6:00 ...
- Linux内核情景分析之消息队列
早期的Unix通信只有管道与信号,管道的缺点: 所载送的信息是无格式的字节流,不知道分界线在哪,也没通信规范,另外缺乏控制手段,比如保温优先级,管道机制的大小只有1页,管道很容易写满而读取没有及时,发 ...
- pyqt线程实现
# coding=utf-8 __author__ = 'a359680405' from PyQt5.QtCore import * from PyQt5.QtGui import * from P ...
- win10下安装redis
Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases Redis 支持 32 位和 64 位.这个需要根据你系统平台的实际情况选择, ...
- UVA 11059 Maximum Product【三层暴力枚举起终点】
[题意]:乘积最大的子序列.n∈[1,10],s∈[-10,10] [代码]: #include<bits/stdc++.h> using namespace std; int a[105 ...
- Codeforces 915F Imbalance Value of a Tree(并查集)
题目链接 Imbalance Value of a Tree 题意 给定一棵树.求树上所有简单路径中的最大权值与最小权值的差值的和. 首先考虑求所有简单路径中的最大权值和. 对所有点按照权值大小升 ...
- PHP message: PHP Fatal error: require(): Failed opening required
PHP message: PHP Warning: require(/data/wwwroot/blog.sgfoot.com/bootstrap/autoload.php): failed to o ...
- Enter Query Mode Search Tricks Using Enter_Query Built-in in Oracle Forms
In this post you will learn how to specify any condition in enter query mode of Oracle Forms. Whenev ...