cocos2dx 粒子系统理解
来源:互联网 发布:软件技术职称 编辑:程序博客网 时间:2024/05/22 03:25
1、粒子系统的原理:
在引擎中存在一个粒子池,存放着待激活的粒子,发射器每次从粒子池中取出一个粒子,然后计算赋予粒子的初始属性(速度、大小、方向、生存时间等)后,将粒子发射出去,粒子被发射出去后,会不断地刷新来修正它的属性,当粒子的生存时间结束后,粒子就会死亡,然后重新被粒子池回收,等待下一次激活。
2、粒子的主要属性:
(a)duration 发射器生命时间,单位为秒,-1表示永久播放
(b)emissionRate 每秒喷发的粒子数目
(c)emitterMode 喷发器模式,有重力模式(GRAVITY)和半径模式(RADIUS)两种
(d)totalParticles 场景中存在的最大粒子数目,往往与emissionRate配合使用
(e)isAutoRemoveOnFinish 粒子结束时是否自动删除
生命属性:
(a)life 粒子的生存时间
(b)lifeVar 粒子生命变化范围
大小属性:
(a)startSize 粒子的初始大小
(b)startSizeVar 粒子初始大小的变化范围
(c)endSize 粒子结束时的大小,-1表示和初始大小一致
(d)endSizeVar 粒子结束大小的变化范围
角度属性:
(a)angle 粒子角度
(b)angleVar 粒子角度变化范围
颜色属性:
(a)startColor 粒子初始颜色
(b)startColorVar 粒子初始颜色变化范围
(c)endColor 粒子结束颜色
(d)endColorVar 粒子结束颜色的变化范围
位置属性:
(a)positionType 粒子位置类型有三种:
自由模式(FREE):相对于屏幕自由,不会随粒子节点移动而移动
相对模式(RELATIVE):相对于绑定的节点静止,粒子发射器会随着节点的移动而移动
和打组模式(GROUPED):相对于发射点,粒子随发射器移动而移动
(b)posVar 发射器位置的变化范围
3、粒子效果的创建方法:
方法一:使用cocos2dx引擎提供的效果
auto snow = ParticleSnow::create();snow->setTexture(Director::getInstance()->getTextureCache()->addImage("snow.png"));snow->setPosition(Point(0,400));this->addChild(snow);
方法二:自定义粒子
auto emitter = ParticleSystemQuad::createWithTotalParticles(50);emitter->setTexture(Director::getInstance()->getTextureCache()->addImage("snow.png"));emitter->setDuration(-1);//不断地发射粒子emitter->setPosition(Point(400,400));emitter->setEmitterMode(ParticleSystem::Mode::GRAVITY);emitter->setLife(10);//设置粒子属性this->addChild(emitter);
方法三:使用plist文件
auto snow = ParticleSystemQuad::create("snow.plist");snow->setDuration(-1);snow->setPosition(Point(200,200));this->addChild(snow);
- cocos2dx 粒子系统理解
- Cocos2dx---之粒子系统
- cocos2dx 粒子系统
- cocos2dx之粒子系统
- cocos2dx 粒子系统
- cocos2dx粒子系统
- cocos2dx粒子系统相关
- 七、cocos2dx之粒子系统
- 【cocos2dx粒子系统】总结学习
- cocos2dx 3.x粒子系统
- 错误日志--2 cocos2dx,粒子系统,plist
- 游戏特效之Cocos2dx中的粒子系统
- cocos2dx 利用随机数模拟雪花飘落、粒子系统
- cocos2dx 粒子学习
- cocos2dx粒子碰撞检测
- cocos2dx粒子碰撞检测
- cocos2dx-粒子特效
- cocos2dx之粒子效果
- ETCD是什么
- 跨集群拷贝hbase表
- 括号匹配
- mysql互换表中两列数据
- LNMP 1.4 网站无法访问
- cocos2dx 粒子系统理解
- AutoEncoder自动编码器
- HLS协议实现
- JSP内置对象
- 适配器模式 有感
- 4102:宠物小精灵之收服
- Android Fragment Activity View中集成React Native页面
- SSO单点登录基本概念实现思路以及小的实例详解
- pl/sql ORA-12154: TNS:could not resolve the connect identifier specified的问题