CocoStuido sample----SampleParticle源代码地址
https://github.com/chukong/CocoStudioSamples
大家可以预先下载这个源代码, 等下要用到里面的图片资源哦
粒子系统经常在展示火,爆炸,火花,雪,尘,流星等抽象效果时, 可以做到其他渲染技术难以达到的真实性.
CocoStudio对粒子系统也提供了很好地支持.
一 目标

在本教程里, 我将学习下如何在CocoStudio中使用粒子系统, 并在cocos2d-x中运行.
我们使用的cocos2d-x的版本是2.2.2, CocoStudio的版本是1.2.0.1. 不同的版本, 功能上会有差异, 大家学习时, 最好采用对应的版本.
如上图所示, 我们要制作一个包含了英雄挥砍的动画, 当刀触地后, 迸溅出火花.
二 创建项目, 导入资源并制作动画
CocoStudio支持由其他粒子编辑器导出的plist文件, 大家在实际制作的过程中, 请先用其他粒子编辑器制作粒子并导出plist文件, 以便在CocoStudio中使用.
大家可以在下载到的源代码的SampleParticle\SampleParticle_Editor\HeroAnimation\HeroAnimation\Resources 目录下找到我们需要的资源.
我们首先打开动画编辑器, 并创建一个新的项目.
然后大家可以在资源面板点击导入文件的按钮, 导入这些资源文件. 导入后的资源面板如下.
这时我们可以按照前面骨骼动画的做法, 制作好动画, 并为其准备几套动作.

三 挂载粒子
我们在编辑器的形体模式下, 将blood.plist从资源面板拖入渲染区合适的位置.
然后我们切换到动画模式下. 如果这个时候动作列表不在attack上, 我们则需要删除被插入的多余的关键帧.

然后我们再切换到attack这个动画, 将时间轴游标拉倒第0帧, 选中blood节点, 插入一个新的关键帧.

如果切换到动画模式下, 动作列表已经在attack上, 那么我们将自动插入的关键帧隐藏. 因为我们只需要在刀接触地面的时候, 才开始播放这个粒子效果.
选中blood节点, 在第0帧上点击右键, 并选中隐藏帧.

接下来我们再插入一帧, 把游标拖到第14帧, 选中blood节点, 为其插入一个新的关键帧.

我们需要确保在这一帧上, blood的属性中, 属性处于显示, 渲染资源选中了blood.plist.如下图所示.

好了, 点击下动画帧面板的播放按钮, 是不是看到我们的英雄挥砍宝剑, 点点火星四射! 威武!
四 导出资源
用快捷键Ctrl+E打开导出对话框, 选择导出的路径, 按默认配置导出. 我们稍后会用到这些文件.
五 在cocos2d-x工程中添加导出后的资源
想必各位看官都已经熟练掌握了cocos2d-x工程的创建, 我这里就不再啰嗦了.
创建完工程之后, 需要将我们上面用CocoStudio导出的几个文件拷贝到cocos2d-x工程的Resources文件夹下.
六 代码实现
我们要在cocos2d-x中加载动画, 我们直接在默认的cocos2d-x的HelloWorld上做修改.
我们将下面代码加入到HelloWorld::init函数返回值之前.
//加载数据 CCArmatureDataManager ::sharedArmatureDataManager()->addArmatureFileInfo( "hero/Hero.ExportJson"); //创建英雄对象 CCArmature * armature = CCArmature ::create( "Hero"); //播放attack动画 armature->getAnimation()->play( "attack" ); armature->setScale(1.5); armature->setPosition( ccp (visibleSize.width*0.25, visibleSize.height*0.25));
//添加到父节点 addChild(armature); return true ;
快来运行下吧!


