cocos2d粒子系统--粒子编辑器Parti…
Particle designer粒子编辑器可到这里下载(包含授权码):http://www.cocoachina.com/downloads/code/2012/0706/4424.html -- CCParticleSystem是所有粒子系统的父类 -- CCParticleSystemPoint、CCParticleSystemQuad (点粒子和方形粒子系统,都继承了CCParticleSystem的所有属性) 1、 大部分粒子系统都会继承这两个系统之一,那到底去继承哪一个呢?我们来分析下: CCParticleSystemPoint点粒子系统,消耗内存比较少,运行速度比较快,但这只是说在1、2代机器上,3代以后的性能就不咋地了。 CCParticleSystemQuad方形粒子系统,在3代以后的机器上运行的比较快,他会消耗更多的内存和CPU。 可谓各有利弊哈!那么我们可以在代码中根据不同的机器来选择最佳的粒子系统么? 答案是可以的。 使用预处理器ARCH_OPTIMAL_PARTICLE_SYSTEM来定义粒子系统,在代码编译过程中来判断使用哪一个粒子系统。会自动的根据机型选择合适的粒子系统 例:@interface 2、 粒子贴图必须小于64x64的,越小越好。 好了,下一步我们就来学习下粒子工具ParticleDesigner,一个可视调属性工具。下载地址:http://particledesigner.71squared.com.这个工具怎么来用就不细说了,打开此工具一目了然。在此说下在项目中怎么来用这个工具导出的文件。 1、点击工具中SAVE,保存为.plist格式文件,然后将文件导入到项目中(最基本的就不用说了)。 2、然后实例化粒子对象 (这里必须用ARCH_OPTIMAL_PARTICLE_SYSTEM来初始化,如果用父类CCParticleSystem将什么都看不到) CCParticleSystem [selfaddChild:systemz:1tag:1]; 3、OK接下来可以修改下在工具中不能修改的属性 需要注意一点的是positionType这个属性,翻看Himi的教程,里面有个讲到粒子会随精灵的位置变动而变动。这都取决于这个属性的设定。有三个值: kCCPositionTypeRelative相对模式,粒子发射器会随精灵移动而移动,可用于制作角色身上特效等等 kCCPositionTypeGrouped kCCPositionTypeFree 4、最后我们再说个在测试中遇到的问题, 当要显示粒子效果时,在界面上会轻微的卡下,这是粒子在加载贴图资源。这个问题不解决可能会使游戏变得不流畅了。在这里我们可以使用预加载机制,这个方法也是跟教程学的,嘿嘿!学习无处不在嘛! 首先,我们在游戏进入的场景的初始化init中加入[preloadParticleEffect]; 工具的属性介绍:
基本的设置 Max Particles Lifespan LifespanVariance Start Size Start SizeVariance Finish Size Finish SizeVariance Particle EmitAngle Particle EmitAngle Variance Position Y Position X Duration 发射模式设置 Gracity 颜色模式(ccColor4F) Red Blue Green Alpha 粒子混合模式Blend Function 来源Source和目标Destination这个两个值都为以下几种情况: GL_ONE_MINUS_SRC_COLOR GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA GL_DST_ALPHA GL_ONE_MINUS_DST_ALPHA 比如: 来源混合模式GL_SRC_ALPHA和目标混合模式GL_ONE_MINUS_SRC_ALPHA的话,得到的 将会是透明的粒子。 来源混合模式GL_SRC_ALPHA和目标混合模式GL_ONE经常配合使用来生成递增型 的混合效 转:http://blog.sina.com.cn/s/blog_4dc0f99c01019hlx.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ios – 如何将UIPopoverPresentationController的高度设置为
- c# – Google Drive SDK System.Net.Http.Primitives版本1.
- Swift: 把 Struct 作为数据模型的注意事项
- c# – 分配大型数组; OutOfMemoryException VS OverflowExc
- 造个类型不是梦-白话Swift类型创建
- ruby-on-rails – Rails i18n项目列表和循环视图
- [翻译]Swift编程语言——类和结构体
- c# – LINQ序列化
- c# – Metro App – 如何检测是否使用Live ID或本地帐户登录
- (跨域)JSONP原理 $.getJSON 用法