欢迎转载!转载时请注明出处: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 太阳焰

CCParticleSystem粒子系统的更多相关文章

  1. [转]eoe社区cocos2d-x游戏引擎知识大汇总

    [eoeAndroid 社区]特意为大家汇总了cocos2d-x知识贴,分量十足,纯正干或.从基础教程到游戏应用的开发,我们不让知识流失,我们要做知识的搬运工还有加工 师.希望大家能够一起的学习,和大 ...

  2. cocos2dx基础篇(23) 粒子系统CCParticleSystem

    [3.x]     (1)去掉"CC"     (2)粒子位置模式 tPositionType 改为强枚举类型 ParticleSystem::PositionType:: // ...

  3. [原创]cocos2d-x研习录-第三阶 特性之粒子系统

    我想接触过游戏引擎的同学,对粒子系统应该不会陌生.它用于解决由大量按一定规则运动(变化)的微小物质在计算机上的生成和显示问题.粒子系统在游戏中有着非常广泛的应用,可以模拟很多现象,如火花.爆炸.烟雾. ...

  4. [Cocos2d-x For WP8]Particle粒子系统

    在游戏中,经常要实现一些真实的效果,这些效果(如,火焰,雪花等)都是由大量微粒组合而形成的.为了在游戏中实现这种效果,我们必须引进粒子系统,粒子系统中需要包括四个部分:粒子对象,运动规律,随机性,粒子 ...

  5. 粒子系统1:简介&工具使用

    直接使用工具来感受一下粒子系统的强大威力吧. 网络上有很多粒子编辑器,大多数都是收费的.magicalsoft提供了一个免费的粒子编辑器(该工具目前只有mac版本),界面如下: 我们将针对这个编辑器来 ...

  6. cocos2d-x Tests讲解 Particle System(粒子系统)

    转载请注明出处: http://www.cnblogs.com/shangdahao/archive/2012/04/14/2447571.html 一.粒子系统简介: 粒子系统最早出现在80年代,主 ...

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

    程序: 创建球 sp1 = CCSprite::create("ball.png"); sp1->setPosition(ccp(10, visibleSize.height ...

  8. Cocos2d-x粒子系统

    CCparticleSystem类封装实现对粒子的控制与调度,当中操作包含有: 1.产生粒子 2.更新粒子状态 3.回收无效的粒子 CCparticleSystem派生出CCParticleSyste ...

  9. Particle System(粒子系统)

    粒子系统应用:Unity的粒子系统可以制作烟雾,气流,火焰和各种大气效果.   粒子系统模块介绍:         大部分的属性可以通过曲线控制(见曲线编辑器),颜色属性可以被定义了颜色动画的渐变器控 ...

随机推荐

  1. jQuery Mobile_页面事件

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  2. RedHat5安装好后没有ip

    RedHat5安装好后,ifconfig查不到ip. 设置有问题.关闭虚拟机,点击下图所指,调出虚拟网络编辑器: 点击还原默认设置,应用,确定. 重启虚拟机,ifconfig,是不是查到ip了呢?

  3. [Hibernate] - mysql

    Hibernate使用mysql例子: 1) 新建一个bean: User.java package com.my.bean; import java.util.Date; public class ...

  4. Struts2 - Rest(2)

    (上篇:Struts2 - Rest(1)) 6) 加入user-index.jsp到/WEB-INF/content中: <%@ page language="java" ...

  5. 08socket编程

    有个SO_REUSEADDR值得注意一下: 服务器端尽可能使用SO_REUSEADDR 在绑定之前尽可能调用setsockopt来设置SO_REUSEADDR套接字选项. 使用SO_REUSEADDR ...

  6. dismissViewControllerAnimated有延迟

    dismissViewControllerAnimated:completion:在应用中运行正常,就是不知道为什么出现了几秒钟的延迟: [api loginWithUsername:[dict ob ...

  7. C# .NET MVC 接收 JSON ,POST,WCF 无缝隙切换

    用来与HTTP 模式的WCF 无缝隙切换. 服务端是MVC. 在Home/About 上面加 [HttpPost].读取Request.InputStream 中所有内容.然后返回JSON给客户端:r ...

  8. zend studio一些常用配置

    zend studio 常用 配置 1.zend中添加注释是ctrl+slash,这个slash在哪里?如何来取消注释 slash是斜杠'/'那个键,就是在,.之后的那个. 进行注释是 ctrl+'/ ...

  9. ajaxForm笔记

    <script src="Scripts/jquery.form.js" type="text/javascript"></script> ...

  10. 一款灵活好用的日历控件Kalendae

    Kalendae是一款纯js不依赖任何js库的日历控件,可以轻松实现显示月份数量,当前选中多个日期,并可以按照周等你想要的格式去定制选中项. 下载地址:GitHub/Kalendae 第一步:Kale ...