6 cocos2dx粒子效果,类图关系,系统原生粒子和自定义粒子效果,粒子编译器软件,爆炸粒子效果,烟花效果,火焰效果,流星效果,漩涡粒子效果,雪花效果,烟雾效果,太阳效果,下雨效果

简介:  1 粒子 示例 2 类图关系 3 系统原生粒子 CCParticleSystem 所有粒子系统的父类 CCParticleSystemPoint、 CCParticleSystemQuad 点粒子和方形粒子系统,都继承了CCParti


1 粒子

示例

2 类图关系

3 系统原生粒子

CCParticleSystem

所有粒子系统的父类

CCParticleSystemPoint

CCParticleSystemQuad

点粒子和方形粒子系统,都继承了CCParticleSystem的所有属性

CCParticleExplosion

爆炸粒子效果

CCParticleFireworks

烟花粒子效果

CCParticleFire

火焰粒子效果

CCParticleMetepr

流行粒子效果

CCParticleSpiral

漩涡粒子效果

CCParticleSnow

雪粒子效果

CCParticleSmoke

烟粒子效果

CCParticleSun

太阳粒子效果

CCParticleRain

雨粒子效果

4 代码

//CCParticleExplosion * particle = CCParticleExplosion::create();

//CCParticleFireworks * particle = CCParticleFireworks::create();

//CCParticleFire * particle = CCParticleFire::create();

//CCParticleMeteor * particle = CCParticleMeteor::create();

//CCParticleSpiral * particle = CCParticleSpiral::create();

//CCParticleSnow * particle = CCParticleSnow::create();

//CCParticleSmoke * particle = CCParticleSmoke::create();

//CCParticleSun * particle = CCParticleSun::create();

CCParticleRain * particle = CCParticleRain::create();

 

particle->setPosition(ccp(240, 160));

addChild(particle);

5 手动制作粒子系统

粒子编译器软件

编辑好后生成xx.plist文件

CCParticleSystemQuad * particle = CCParticleSystemQuad::create("ring.plist");

particle->setPosition(ccp(240, 160));

addChild(particle);

particle->setDuration(4);

6 案例

爆炸粒子效果

T21Particle.h

#ifndef __T12Particle_H__

#define __T12Particle_H__

#include "cocos2d.h"

#include "TBack.h"

USING_NS_CC;

class T21Particle :public TBack

{

public:

    static CCScene * scene();

    CREATE_FUNC(T21Particle);

    bool init();

 

};

 

#endif

T21Particle.cpp

#include "T21Particle.h"

#include "AppMacros.h"

 

CCScene * T21Particle::scene()

{

    CCScene * scene = CCScene::create();

    T21Particle * layer = T21Particle::create();

    scene->addChild(layer);

    return scene;

}

 

bool T21Particle::init()

{

    TBack::init();

   

    //爆炸粒子效果

    CCParticleExplosion * particle = CCParticleExplosion::create();

   

    addChild(particle);

   

    return true;

}

运行效果:

烟花效果

#include "T21Particle.h"

#include "AppMacros.h"

 

CCScene * T21Particle::scene()

{

    CCScene * scene = CCScene::create();

    T21Particle * layer = T21Particle::create();

    scene->addChild(layer);

    return scene;

}

 

bool T21Particle::init()

{

    TBack::init();

   

    //烟花效果

    CCParticleFireworks * particle = CCParticleFireworks::create();

   

    //设置位置显示位置

    particle->setPosition(ccp(winSize.width / 2,winSize.height / 4));

    //设置时间间隔

    particle->setDuration(20);

    addChild(particle);

   

    return true;

}

运行结果:

火焰效果:

#include "T21Particle.h"

#include "AppMacros.h"

 

CCScene * T21Particle::scene()

{

    CCScene * scene = CCScene::create();

    T21Particle * layer = T21Particle::create();

    scene->addChild(layer);

    return scene;

}

 

bool T21Particle::init()

{

    TBack::init();

   

    //火焰效果

    CCParticleFire * particle = CCParticleFire::create();

   

    //设置位置显示位置

    particle->setPosition(ccp(winSize.width / 2,winSize.height / 4));

    //设置时间间隔

    particle->setDuration(20);

    addChild(particle);

   

    return true;

}

流星效果:

#include "T21Particle.h"

#include "AppMacros.h"

 

CCScene * T21Particle::scene()

{

    CCScene * scene = CCScene::create();

    T21Particle * layer = T21Particle::create();

    scene->addChild(layer);

    return scene;

}

 

bool T21Particle::init()

{

    TBack::init();

   

    //流星粒子效果

    CCParticleMeteor * particle = CCParticleMeteor::create();

   

    //设置位置显示位置

    particle->setPosition(ccp(winSize.width / 2,winSize.height / 4));

    //设置时间间隔

    particle->setDuration(20);

    addChild(particle);

   

    return true;

}

运行效果:

漩涡粒子效果

#include "T21Particle.h"

#include "AppMacros.h"

 

CCScene * T21Particle::scene()

{

    CCScene * scene = CCScene::create();

    T21Particle * layer = T21Particle::create();

    scene->addChild(layer);

    return scene;

}

 

bool T21Particle::init()

{

    TBack::init();

   

    //流行粒子效果

    CCParticleSpiral * particle = CCParticleSpiral::create();

   

    //设置位置显示位置

    particle->setPosition(ccp(winSize.width / 2,winSize.height / 4));

    //设置时间间隔

    particle->setDuration(20);

    addChild(particle);

   

    return true;

}

运行效果:

雪花效果:

#include "T21Particle.h"

#include "AppMacros.h"

 

CCScene * T21Particle::scene()

{

    CCScene * scene = CCScene::create();

    T21Particle * layer = T21Particle::create();

    scene->addChild(layer);

    return scene;

}

 

bool T21Particle::init()

{

    TBack::init();

   

    //雪花效果

    CCParticleSnow * particle = CCParticleSnow::create();

   

    //设置位置显示位置

    particle->setPosition(ccp(winSize.width / 2,winSize.height));

    //设置时间间隔

    particle->setDuration(20);

    addChild(particle);

   

    return true;

}

运行效果:

烟雾效果:

#include "T21Particle.h"

#include "AppMacros.h"

 

CCScene * T21Particle::scene()

{

    CCScene * scene = CCScene::create();

    T21Particle * layer = T21Particle::create();

    scene->addChild(layer);

    return scene;

}

 

bool T21Particle::init()

{

    TBack::init();

   

    //烟雾效果

    CCParticleSmoke * particle = CCParticleSmoke::create();

   

    //设置位置显示位置

    particle->setPosition(ccp(winSize.width / 2,winSize.height/3));

    //设置时间间隔

    particle->setDuration(20);

    addChild(particle);

   

    return true;

}

运行结果:

太阳效果

#include "T21Particle.h"

#include "AppMacros.h"

 

CCScene * T21Particle::scene()

{

    CCScene * scene = CCScene::create();

    T21Particle * layer = T21Particle::create();

    scene->addChild(layer);

    return scene;

}

 

bool T21Particle::init()

{

    TBack::init();

   

    //太阳效果

    CCParticleSun * particle = CCParticleSun::create();

   

    //设置位置显示位置

    particle->setPosition(ccp(winSize.width / 2,winSize.height/3));

    //设置时间间隔

    particle->setDuration(20);

    addChild(particle);

   

    return true;

}

运行效果:

下雨效果

#include "T21Particle.h"

#include "AppMacros.h"

 

CCScene * T21Particle::scene()

{

    CCScene * scene = CCScene::create();

    T21Particle * layer = T21Particle::create();

    scene->addChild(layer);

    return scene;

}

 

bool T21Particle::init()

{

    TBack::init();

   

    //细雨效果

    CCParticleRain * particle = CCParticleRain::create();

    //particle->setRotation(90);

   

    //设置位置显示位置

    particle->setPosition(ccp(winSize.width / 2,winSize.height));

    //设置时间间隔

    particle->setDuration(20);

    addChild(particle);

   

    return true;

}

运行结果:

7 通过自定义的.plist文件作出粒子效果

案例:

环形效果

#include "T21Particle.h"

#include "AppMacros.h"

 

CCScene * T21Particle::scene()

{

    CCScene * scene = CCScene::create();

    T21Particle * layer = T21Particle::create();

    scene->addChild(layer);

    return scene;

}

 

bool T21Particle::init()

{

    TBack::init();

   

    CCParticleSystemQuad * particle = CCParticleSystemQuad::create("ring.plist");

   

    //设置位置显示位置

    particle->setPosition(ccp(winSize.width / 2,winSize.height / 2));

    //设置时间间隔

    particle->setDuration(20);

    addChild(particle);

   

    return true;

}

运行结果:

 

目录
相关文章
Threejs实现下雨,下雪,阴天,晴天,火焰
Threejs实现下雨,下雪,阴天,晴天,火焰
1328 0
Threejs实现下雨,下雪,阴天,晴天,火焰
【ShaderToy中图形效果转译到UnityShaderlab案例分享,实现粒子场_ParticleField】
【ShaderToy中图形效果转译到UnityShaderlab案例分享,实现粒子场_ParticleField】
|
4月前
复现sci顶刊中的画中画(局部细节放大)
复现sci顶刊中的画中画(局部细节放大)
94 0
|
11月前
如何做一个俄罗斯方块5:形状碰撞检测(下)
其实,两侧的碰撞判断跟我们上一节讲过的向下移动的碰撞判断原理是一样的,向下碰撞检测的是每一个方块下方的位置是否有其它方块,那么向左/右碰撞检测的就是每个方块左/右侧的位置是否有其他的方块。
277 0
|
11月前
|
开发工具
如何做一个俄罗斯方块4:形状碰撞检测(上)
在游戏开发中,我们所说的“碰撞”经常指的是物理碰撞,什么是物理碰撞呢?一般的在游戏开发工具中都会包含一个叫做“物理引擎”的东西,它的作用就是在游戏中模拟出现实中的物理效果。例如,我们扔一个东西,这个东西会因为重力而下落,最终落到地上,与地面发生碰撞。在游戏中,我们可以借助物理引擎,来模拟出东西下落掉到地面上的效果。当东西掉到地面上时,我们就说这个东西与地面发生了碰撞。
273 0
|
11月前
|
小程序
如何做一个俄罗斯方块6:形状停靠
在处理形状停靠之前,有一点儿东西需要了解,就是已经停靠的方块和正在下落的方块不是一种方块,如图,红色的表示的是已经停靠的方块,绿色的表示下落的绿色方块的作用是展示当前下落的形状,红色方块的作用是标识出哪些位置已经摆放了方块。
86 0
|
11月前
|
Java
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏05图像仿射变换(平移和缩放操作)
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏05图像仿射变换(平移和缩放操作)
111 0
|
存储 程序员
七夕快到了,用SwiftUI做一个表达爱意的心形动画
传统的七夕快到了,作为一个程序猿,最浪漫的礼物当然是自己写的啦! 思来想去也不知道写什么好,在某天在某音上学习时看到点赞的动画效果还不错,那不如就做一个表达爱意的动画吧。
289 0
七夕快到了,用SwiftUI做一个表达爱意的心形动画
|
算法 Java 计算机视觉
模拟油画和铅笔画的滤镜效果
模拟油画和铅笔画的滤镜效果
131 0
模拟油画和铅笔画的滤镜效果
C#(三十四)之坐标变换
本篇内容记录了坐标变换的平移变换、旋转变换。
252 0
C#(三十四)之坐标变换