cocos2d-06 粒子效果

particle designer particle designer CCParticleSystem(所有粒子系统的父类) -- CCParticleSystemPoint、CCParticleSystemQuad (点粒子和方形粒子系统,都继承了CCParticleSystem的所有属性) -- CCParticleExplosion (爆炸粒子效果) -- CCParticleFireworks (烟花粒子效果) -- CCParticleFire (火焰粒子效果) -- CCParticleFlower (花束粒子效果) -- CCParticleGalaxy (星系粒子效果) -- CCParticleMeteor (流星粒子效果) -- CCParticleSpiral (漩涡粒子效果) -- CCParticleSnow (雪粒子效果) -- CCParticleSmoke (烟粒子效果) -- CCParticleSun (太阳粒子效果) -- CCParticleRain (雨粒子效果) 立即下载

博客:http://blog.youkuaiyun.com/cwq9944/article/category/1081865



Particle designer粒子编辑器可到这里下载(包含授权码):http://www.cocoachina.com/downloads/code/2012/0706/4424.html

-- CCParticleSystem是所有粒子系统的父类

-- CCParticleSystemPoint、CCParticleSystemQuad (点粒子和方形粒子系统,都继承了CCParticleSystem的所有属性)

    -- CCParticleExplosion       (爆炸粒子效果)

    -- CCParticleFireworks       (烟花粒子效果)

    -- CCParticleFire               (火焰粒子效果)

    -- CCParticleFlower           (花束粒子效果)

    -- CCParticleGalaxy          (星系粒子效果)

    -- CCParticleMeteor          (流星粒子效果)

    -- CCParticleSpiral           (漩涡粒子效果)

    -- CCParticleSnow            (雪粒子效果)

    -- CCParticleSmoke          (烟粒子效果)

    -- CCParticleSun              (太阳粒子效果)

    -- CCParticleRain             (雨粒子效果)

 以上都是cocos2d自带的粒子系统,也是蛮强大的。关键玩的不是这些类,而是粒子系统的属性,N多的属性,想调出漂亮的效果还就靠这些属性了。暂且先不管那些,后面会讲到一个工具(Particle Designer),蛮方便的,省去了不少事。现在我们先理解些东西。

1、 有关CCParticleSystemPoint和CCParticleSystemQuad

大部分粒子系统都会继承这两个系统之一,那到底去继承哪一个呢?我们来分析下:

CCParticleSystemPoint点粒子系统,消耗内存比较少,运行速度比较快,但这只是说在1、2代机器上,3代以后的性能就不咋地了。

CCParticleSystemQuad方形粒子系统,在3代以后的机器上运行的比较快,他会消耗更多的内存和CPU。

可谓各有利弊哈!那么我们可以在代码中根据不同的机器来选择最佳的粒子系统么?

答案是可以的。

使用预处理器ARCH_OPTIMAL_PARTICLE_SYSTEM来定义粒子系统,在代码编译过程中来判断使用哪一个粒子系统。会自动的根据机型选择合适的粒子系统

例:@interface CCParticleExplosion : ARCH_OPTIMAL_PARTICLE_SYSTEM

 

2、 有关粒子贴图

粒子贴图必须小于64x64的,越小越好。

     可以将贴图嵌入到Particle Designer中(缺点:修改贴图不方便),

                 也可导入工程中self.texture =[[CCTextureCachesharedTextureCache] addImage:particleFile]。

 

好了,下一步我们就来学习下粒子工具ParticleDesigner,一个可视调属性工具。下载地址:http://particledesigner.71squared.com.这个工具怎么来用就不细说了,打开此工具一目了然。在此说下在项目中怎么来用这个工具导出的文件。

1、点击工具中SAVE,保存为.plist格式文件,然后将文件导入到项目中(最基本的就不用说了)。

2、然后实例化粒子对象 (这里必须用ARCH_OPTIMAL_PARTICLE_SYSTEM来初始化,如果用父类CCParticleSystem将什么都看不到)

CCParticleSystem * system = [ARCH_OPTIMAL_PARTICLE_SYSTEMparticleWithFile:@"fx-explosion.plist"];

[selfaddChild:systemz:1tag:1];

 

3、OK接下来可以修改下在工具中不能修改的属性

                  system.positionType = kCCPositionTypeFree;

                  system.autoRemoveOnFinish = YES;//发射完粒子消失后从父节点移除

                  system.position = ccp(100,100);//粒子发射器位置

需要注意一点的是positionType这个属性,翻看Himi的教程,里面有个讲到粒子会随精灵的位置变动而变动。这都取决于这个属性的设定。有三个值:

kCCPositionTypeRelative相对模式,粒子发射器会随精灵移动而移动,可用于制作角色身上特效等等

kCCPositionTypeGrouped 这个和上边的产生效果一样(实验得到的结果),区别在于这个是粒子随发射器移动而移动

kCCPositionTypeFree     自由模式,不会随粒子节点移动而移动(可产生火焰、蒸汽等效果)

 

4、最后我们再说个在测试中遇到的问题, 当要显示粒子效果时,在界面上会轻微的卡下,这是粒子在加载贴图资源。这个问题不解决可能会使游戏变得不流畅了。在这里我们可以使用预加载机制,这个方法也是跟教程学的,嘿嘿!学习无处不在嘛!

首先,我们在游戏进入的场景的初始化init中加入[selfpreloadParticleEffect];

                - (void)preloadParticleEffect

                {

                        [ARCH_OPTIMAL_PARTICLE_SYSTEMparticleWithFile:@"fx-explosion.plist"];

               }

                因为particleWithFile方法是以自动释放的方式初始化的粒子,因此不用关心他们的内存释放问题。

                当他们释放掉以后他们的贴图会保留再缓存(CCTextureCache)中,因此解决了粒子显示时及时加载贴图的问题。

                如果"fx-explosion.plist"里面没有嵌贴图,那就用[[CCTextureCachesharedTextureCache]addImage:@"fire.png"];这个方式先把贴图加入缓存啦。

工具的属性介绍:

基本的设置

Max Particles 粒子的数量

Lifespan 生命周期, 周期越长屏幕上同事存在的粒子数量就越多

LifespanVariance 生命周期的变量值,例如生命周期为5,变量为1,那么生命周期就会在5-1和5+1之间随机一个数

Start Size 开始的粒子大小

Start SizeVariance 开始粒子大小的变量值

Finish Size 结束的粒子大小

Finish SizeVariance 结束粒子大小的变量值

Particle EmitAngle 粒子发射的角度

Particle EmitAngle Variance 粒子发射角度变量值

Position Y 发射的Y坐标

Position X 发射的X坐标

Duration 持续时间,当为 -1时候是持久的

 

发射模式设置

Gracity 重力模式

    Speed 粒子速度

    Speed Variance 速度变量值

    Gracity x 粒子重力下X轴上的加速度

    Gravity y 粒子重力下Y轴上的加速度

    Radial Acceleration 当是正数时,离发射器越远,加速就越大;否则相反

    Radial Acceleration Variance 以上的浮动值

    Tangential Acceleration 让粒子旋转围着发射器运动,越远加速越快。当为正时,逆时针旋转;否则相反

      Radial 半径模式(让粒子沿着一个圆形旋转,可产生漩涡、螺旋效果)

    Max Radius 最大半径

    Max Radius Variance 以上浮动值

    Min Radius 最小半径

    Deg.Per.Second影响粒子移动的方向和速度

    Deg.Per.Second Var 以上浮动值

颜色模式(ccColor4F)

Red     红

Blue    蓝

Green   绿

Alpha   透明度

粒子混合模式Blend Function

来源Source和目标Destination这个两个值都为以下几种情况:

        GL_ZERO

        GL_ONE

        GL_SRC_COLOR

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经常配合使用来生成递增型 的混合效

ParticleDesigner的windows版 立即下载

相关推荐

ParticleDesigner破解

ParticleDesigner 粒子编辑器的破解 license .

Particle Designer:粒子效果制作器,生成plist文件并在工程中正常使用

1.软件下载软件下载地址下载完成后,安装过程中如果出现提示文件已损毁无法安装的提示不要慌,打开你的终端输入以下命令之后可以再次尝试安装,正常情况下就可以正常安装使用了,如果还未安装成功,则查看是否是电脑防火墙的问题……2.软件操作下面给他家简要介绍一下软件中一些属性的作用控制粒子横向/纵向分布区域的大小控制粒子的数量多少粒子初始角度/粒子分布密度(发散或是集中)·type重力感应(Gravity)、Radial(适用于需要弧度的粒子效果,会给粒子一个初始的角度)·speed。...

ImCode 2375

cocos2dx可用3d粒子编辑器

cocos2dx可用3d粒子编辑器,支持pc、mac、iphone、android等平台

cocos2d 粒子效果以及Particle Designer粒子工具的学习

@import url(http://www.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://www.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlight...

weixin_30872733的博客 528

保姆级教程:用海思PQTool搞定ISP图像调试,从参数读取到固件烧录全流程

本文提供海思PQTool的ISP图像调试全流程指南,从参数读取、实时调试到固件烧录,涵盖环境配置、核心功能解析、参数固化及生产部署。通过实战案例和避坑指南,帮助开发者高效提升图像质量,适用于海思开发板的ISP调试与优化。

weixin_30872337的博客 279

BPMN-JS :修改节点“Change Type”事件类型

修改路径:node_modules\bpmn-js\lib\features\replace\ReplaceOptions.js。

TaylorY的博客 678

cocos2d-html5 粒子系统的使用

粒子系统的一些概念: http://blog.youkuaiyun.com/Leo1981816/article/details/5527202 粒子编辑器ParticleEditor的使用:http://www.cnblogs.com/cocos2d-x/archive/2012/06/17/2552635.html Ch5中使用粒子系统有3种方式: 直接create一个cc.ParticleSy

Allenice1的专栏 7519

告别龟速计算!用Python的fengwo模块5分钟搞定通达信COST/WINNER函数(附完整代码)

本文介绍如何使用Python的fengwo模块高效复现通达信的COST和WINNER函数,解决量化交易中的计算精度和性能问题。通过C++核心算法和多线程优化,计算速度提升显著,误差低于0.5%,并支持与通达信DLL无缝集成,适用于实盘交易策略开发。

weixin_42533751的博客 599

【Cocos2d-x 粒子系统】火球随手指飞起来

程序: 创建球 sp1 = CCSprite::create("ball.png"); sp1->setPosition(ccp(10, visibleSize.height/2)); this->addChild(sp1); setTouchEnabled(true); 让球飞起来吧,创建个简单粒子,点哪飞到哪 void HelloWorld::ccTouchEnded(CCTo

隔壁-老阳 1562

SpringBoot集成SpringSecurity5和OAuth2 — 2、OAuth2客户端【SSO单点登录时作为客户端】

SpringBoot集成SpringSecurity5和OAuth2 — 2、OAuth2客户端【SSO单点登录时作为客户端】

Mr_XiMu的博客 3739

合成孔径雷达Chirp Scaling(CS)算法MATLAB仿真实现

本人也是初学《合成孔径雷达成像算法与实现》,在GitHub上下载的关于CS算法的代码,仔细读了读,发现中间有一些不合理之处,动手改了一改,重新写了一个代码供初学者学习,有什么问题留言即可。 非常感谢源代码的作者,虽然中间有少许不正确的地方,但是对我理解cs算法的帮助非常大,非常感谢!!! 代码中提到的(4.31)这种均是在《合成孔径雷达成像算法与实现》中的公式 以下是MATLAB的仿真程序,直接复...

weixin_41700188的博客 7850

粒子编辑器介绍_cocos2d-windows-particle-editor

原帖地址:http://www.cnblogs.com/cocos2d-x/archive/2012/06/17/2552635.html 似乎是没得选,目前在windows上就发现了一款粒子编辑器,叫做cocos2d-windows-particle-editor。 这是一个开源项目,你可以从下面的网址获取。 http://code.google.com/p/c

comhaqs的专栏 7117

【HALCON工业视觉应用探索】10. C#+Halcon 3D视觉实战:点云处理与三维测量工业指南(附完整代码与实操案例)

摘要:本文聚焦C#+Halcon在3D视觉领域的工业应用,从新手友好的“基础3D检测系统”切入,逐步深入“汽车铸件三维测量”等工业级场景。内容涵盖核心概念(点云数据结构、3D采集原理、坐标系统)、完整技术流程(数据采集→预处理→特征提取→三维测量→结果可视化)、工业级代码实现(多视角点云融合、微缺陷检测、高精度尺寸测量),以及现场落地关键技巧(硬件选型、标定流程、抗干扰优化)。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2004

cocos2d-x 11中粒子特效

1 //爆炸粒子效果 2 CCParticleSystem* particleSystem = CCParticleExplosion::create(); 3 particleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("stars.png")); ...

weixin_30485291的博客 95

手把手教你学Simulink——基于全桥 LLC 谐振变换器的双向 DC-DC 建模与仿真

本文详细介绍了基于Simulink的双向全桥LLC谐振变换器建模与仿真方法。内容涵盖:1)LLC谐振变换器背景与双向化挑战;2)系统架构设计及关键数学推导(FHA增益分析、双向控制逻辑);3)Simulink建模步骤(功率级搭建、PWM生成、同步整流实现);4)仿真结果分析(正向/反向工作验证、ZVS特性);5)工程实践建议(增益微调、代码生成与HIL测试)。通过手把手教学,帮助读者掌握950V↔48V双向LLC变换器的完整设计流程,实现高效率能量双向流动的同时保持软开关特性,适用于储能系统、车载充电等应用

MHD0815的博客 175

Android面试必考问题:Android性能优化最全面试题及参考答案(8万字长文)

Android 中的 OOM(Out Of Memory,内存溢出)异常是指应用程序在运行过程中,由于申请的内存空间超过了系统所能提供的最大内存限制而导致的错误。在 Android 中,内存泄漏是指应用中的某些对象在不再被使用后,仍然被其他对象持有引用,导致这些对象无法被垃圾回收器回收,从而占用内存空间,随着时间的推移可能会导致应用内存不足,甚至崩溃。在一次开发 Android 应用的过程中,我发现应用在长时间运行后会出现内存占用过高的情况,导致应用变得卡顿,甚至可能会被系统强制关闭。

大模型大数据攻城狮的专栏 2528

学习cocos2d-x笔记E1:粒子系统

http://blog.sina.com.cn/s/blog_4057ab6201019fk9.html 学习cocos2d-x笔记E1:粒子系统  (2012-10-21 02:20:58) 转载▼   分类: Android 粒子系统 1、从看Test范例开始。     看cocos的tes

我用CV我自豪。 1078

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

【Cocos2d-x 粒子系统】火球用手指飞起来

程序: 创建球 sp1 = CCSprite::create("ball.png"); sp1->setPosition(ccp(10, visibleSize.height/2)); this->addChild(sp1); setTouchEnabled(true); 让球飞起来吧,创建个简单粒子,点哪飞到哪 void HelloWorld::ccTou...

weixin_33712987的博客 133

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

win32 粒子编辑器

源地址(http://www.cnblogs.com/cocos2d-x/archive/2012/06/17/2552635.html) 似乎是没得选,目前在windows上就发现了一款粒子编辑器,叫做cocos2d-windows-particle-editor。 这是一个开源项目,你可以从下面的网址获取。 http://code.google.com/p/cocos2d

R0CK Y0U的博客 1340

Cocos2d引擎开发资源

cocos2d是一个开源框架,用于构建2D游戏、演示程序和其他图形界面交互应用等。   Cocos2d的分支流派 Cocos2d-python--最初的版本,后来的cocos2d-iphone衍生于此; Cocos2d-iphone--Objective-C版本,做得最好的一个版本; Cocos2d-x--C++版本的,也是跨平台性最好的一个版本;由国人主导; Cocos2d-andr

Game development 960

基于OpenGL编写一个简易的2D渲染框架-06 编写一个粒子系统

在这篇文章中,我将详细说明如何编写一个简易的粒子系统。 粒子系统可以模拟许多效果,下图便是这次的粒子系统的显示效果。为了方便演示,就弄成了一个动图。 图中,同时显示了 7 种不同粒子效果,看上去效果挺炫酷的。 粒子编辑器 使用粒子编辑器,可以在可视化视图中快速、简便的做出想要的粒子效果。这个粒子系统支持导入 cocos2d 粒子编辑器文件,而且粒子系统的也是围绕这个编辑器来设计的...

weixin_34238642的博客 190

知易游戏开发教程cocos2d-x移植版007

原文:http://www.cnblogs.com/cocos2d-x/archive/2012/06/10/2544260.html 在新的一章中,知易带来了粒子系统的相关知识。如果你不清楚粒子系统到底是怎么一回事,那就赶快来看一下吧。 为什么需要粒子系统 在示例6中,我们通过一组图片实现了炮弹的爆炸效果,这是游戏开发中常见的表现手法之一,它的理论基础就是动画。但是

ariel7321的专栏 870

Cocos2d开发资源大集合

Cocos2d的分支流派 Cocos2d-python--最初的版本,后来的cocos2d-iphone衍生于此; Cocos2d-iphone--Objective-C版本,做得最好的一个版本; Cocos2d-x--C++版本的,也是跨平台性最好的一个版本;由国人主导; Cocos2d-android--android版本的,基于java语言; Cocos2d-android-1--

在路上 927
上一篇: iOS iAP 支付与购买
下一篇: UIImageView截取区域图片
focusjava
博客等级 码龄14年 127粉丝 528原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值