Cocos2d-x初入学堂(9)-->CCParticleSystem粒子系统

欢迎转载!转载时请注明出处:http://write.blog.csdn.net/postedit/8124781

第一次接触粒子系统,以前游戏里面的一些小特效,像制作动画一样,是采用一帧一帧的切出来的,由于这种特效,变化无常,切出来的帧,都非常的大,也很耗内存,一下就内存溢出了......呵呵~  主要是以前都没有接触过... 现在接触了,以后游戏就可以用到了...开心!

  //创建一个CCParticleSystem粒子系统
  CCParticleSystem* ignore = CCParticleSystemQuad::create("Particles/SmallSun.plist");
  //第一种创建节点方式
  CCNode *parent1 = CCNode::create();//创建一个节点
  //第二种创建节点方式
  CCNode *parent2 = CCParticleBatchNode::create(ignore->getTexture());

  //第一种:创建一个CCParticleSystemQuad系统:每个粒子用4个点(Quad,矩形)表示的粒子系统

  CCParticleSystemQuad *emitter = CCParticleSystemQuad::create("Particles/SmallSun.plist");

  //第二种:创建CCParticleSystemQuad系统

  m_emitter = new CCParticleSystemQuad();

  std::string filename = "Particles/" +“粒子资源文件名字”+ ".plist";
  m_emitter->initWithFile(filename.c_str());

下面是一些常用设置:
  emitter1->setStartColor(ccc4f(1,0,0,1));//设置粒子RGBA值
  emitter1->setBlendAdditive(false);//是否添加混合
  emitter1->setPosition(ccp( s.width/2-30,    s.height/2+60*neg));//设置发射粒子的位置
  emitter->setAutoRemoveOnFinish(true);//完成后制动移除
  //将粒子系统添加到节点(也可以直接将其添加到一个背景精灵CCSprite里面)

  parent1->addChild(emitter1, 0, 1);
  //然后在添加到层里面
  layer->addChild(parent1, 10, 1000+i);

CCParticleSystem中的常用设置参数表:

struct {
         //重力和方向的向量
        CCPoint gravity;
        //速度
        float speed;
        //粒子的速度差异
        float speedVar;
        //粒子的切线加速度
        float tangentialAccel;
        //粒子间的切线加速度差异
        float tangentialAccelVar;
        //粒子的径向加速度
        float radialAccel;
        //粒子间的径向加速度差异
        float radialAccelVar;
    } modeA;

struct {

        //粒子开始半径
        float startRadius;
        //粒子间开始半径差异
        float startRadiusVar;

        //粒子结束半径
        float endRadius;
        //粒子间结束半径差异
        float endRadiusVar;            
        //粒子每秒的旋转角度
        float rotatePerSecond;
        //粒子间每秒的旋转角度差异        

        float rotatePerSecondVar;
    } modeB;

cocos2dx已经为我们提供了非常多的粒子系统效果:

CCParticleExplosion爆炸
CCParticleFire 火
CCParticleFireworks烟火
CCParticleFlower花
CCParticleGalaxy 银河
CCParticleMeteor 流行
CCParticleRain 下雨
CCParticleSmoke 下雪
CCParticleSnow 炊烟
CCParticleSpiral 螺旋
CCParticleSun 太阳焰

 感谢大家阅览我的博文,希望也能看到大家留下的脚印...呵呵!
如果讲述得有误,或者不对的地方,还望各位指出!

  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值