ParticleEditor粒子编辑器plist Windows粒子编辑器

下面就更大家简单介绍下这款软件,然后制作出一个下雪效果的步骤,肯定比test的下面好看多了…呵呵~

1、下载:

ParticleEditor 下载地址:http://code.google.com/p/cocos2d-windows-particle-editor/downloads/list

2、介绍软件

File:save,save as(导出plist文件),new,Open

Samples:有test里面的一些例子,暂时版本没有增加自己添加纹理进来功能…不过粒子系统有设置图片的方法,如果要求不高的话,也是可以用的…可能后面的版本作者会增加此功能

编辑器里面有说明,我就简单介绍右边的功能:

半径模式:这种只有围绕中心运动,这个下面的参数要有效

编辑器:IsBackgroundMove背景是否动,Scale缩放

大小:粒子的开始大小和结束大小

角度:粒子的运动方向…(-90)垂直朝下

生命:粒子生命

位置:设置PosVar值就可以了,SourcePosition不用管..设置资源的

纹理渲染:对于一般情况,只需要记住:“我们最常使用的CC_BLEND_SRC和CC_BLEND_DST分别对应GL_ONE和GL_ONE_MINUS_SRC_ALPHA”。

颜色:StartColor, EndColor, StartColorVar, EndColorVar这4个属性代表着粒子的初始颜色、结束颜色以及其浮动值。

重力模式:重力、速度等的设置

自旋:粒子的旋转

EmissionRate

粒子的发射速率,即每秒发射的粒子数量。

这里有一个问题,不知道算不算是bug,我给大家描述一下:

CCParticleSystem加载.plist文件时并没有读取这个EmissionRate的值。实际上,它是由粒子数量上限除以粒子生命期算出来的。

1 // emission Rate
2 m_fEmissionRate = m_uTotalParticles / m_fLife;

有点儿说不通对不对。我为什么要在(第一个)粒子的生命期内把所有的粒子都发出去?

这是CCParticleSystem加载.plist文件的问题,临时的解决办法就是,在加载.plist文件后,再手工调用setEmissionRate设置每秒的发射量。

3、导出.plist文件,然后将其对应的图片,一同copy到新建工程的Resource文件夹下…

(注意两个文件要放在一起,要不然找不到..自然你也可以进.plist下去修改图片资源的路径,不过没有必要..放一起就好了)

4、实现下雪效果:

老样子,上传我的demo代码:

ParticleTestScene.h

  1. #pragma once
  2. #include ”cocos2d.h”
  3. using namespace cocos2d;
  4. class ParticleTestScene :public CCScene
  5. {
  6. public:
  7.     ParticleTestScene(void);
  8.     ~ParticleTestScene(void);
  9.     static CCScene* scene();
  10. };

ParticleTestScene.cpp

  1. #include ”ParticleTestScene.h”
  2. #include ”ParticleTestLayer.h”
  3. ParticleTestScene::ParticleTestScene(void)
  4. {
  5. }
  6. ParticleTestScene::~ParticleTestScene(void)
  7. {
  8. }
  9. CCScene* ParticleTestScene::scene()
  10. {
  11.     CCScene* scene=CCScene::create();
  12.     CCLayer* layer=new ParticleTestLayer();
  13.     scene->addChild(layer);
  14.     return scene;
  15. }

ParticleTestLayer.h

  1. #pragma once
  2. #include ”cocos2d.h”
  3. using namespace cocos2d;
  4. class ParticleTestLayer :public CCLayer
  5. {
  6. public:
  7.     virtual void onEnter();
  8. protected:
  9.     CCParticleSystem*    m_emitter;
  10.     CCSprite*            m_background;
  11.     unsigned int m_nOrder;
  12. };

PartileTestLayer.cpp

  1. #include ”ParticleTestLayer.h”
  2. #include ”cocos2d.h”
  3. void ParticleTestLayer::onEnter()
  4. {
  5.     CCLayer::onEnter();
  6.     //注意:如果你的层继承的是CCLayerColor,必须初始化颜色值
  7.     /*initWithColor( ccc4(127,127,127,255) );*/
  8.     //创建一个CCParticleSystem粒子系统
  9.     CCNode *parent1 = CCNode::create();//创建一个父节点
  10.     //创建一个CCParticleSystemQuad系统:每个粒子用4个点(Quad,矩形)表示的粒子系统
  11.     CCParticleSystemQuad *emitter1 = CCParticleSystemQuad::create(“pottersnow.plist”);
  12.     emitter1->setBlendAdditive(false);//是否混合
  13.     CCSize s = CCDirector::sharedDirector()->getWinSize();
  14.     emitter1->setPosition(ccp( s.width/2-30,    s.height/2+60));
  15.     parent1->addChild(emitter1, 0, 1);
  16.     addChild(parent1, 10, 1000);
  17. }

运行效果:



发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(Spamcheck Enabled)

最新评论