Cocos2D-X入门(6)粒子系统

第一种方法:自定义

//建立一个粒子系统
CCParticleSystem* pParticleSystem=new CCParticleSystemQuad();
//产生300个粒子
pParticleSystem->initWithTotalParticles(300);
//设置粒子图片
pParticleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("yezi.png"));
//设置粒子系统持续时间
pParticleSystem->setDuration(-1);
//设置重力方向
pParticleSystem->setGravity(CCPointZero);
//设置角度,角度变化率
pParticleSystem->setAngle(0);
pParticleSystem->setAngleVar(360);
//设置运动速度,运动速度的变化率
pParticleSystem->setSpeed(50);
pParticleSystem->setSpeedVar(10);
//设置径向加速度,径向加速度的变化率
pParticleSystem->setRadialAccel(70);
pParticleSystem->setRadialAccelVar(10);
//设置切向加速度,径向加速度的变化率
pParticleSystem->setTangentialAccel(80);
pParticleSystem->setTangentialAccelVar(0);
//设置粒子初始位置,位置变化率
pParticleSystem->setPosition(mSize.width/2,mSize.height/2);
pParticleSystem->setPosVar(ccp(100,100));
//设置粒子存在时间,时间变化率
pParticleSystem->setLife(2);
pParticleSystem->setLifeVar(0.3);
//设置粒子初始颜色,颜色变化率
ccColor4F cccStart={0.5,0.5,0.5,1.0};
pParticleSystem->setStartColor(cccStart);
pParticleSystem->setStartColorVar(cccStart);
//设置粒子结束颜色,颜色变化率
ccColor4F cccEnd={0.5,0.5,0.5,1.0};
pParticleSystem->setStartColor(cccEnd);
pParticleSystem->setStartColorVar(cccEnd);
//设置粒子初始大小,大小变化率
pParticleSystem->setStartSize(10);
pParticleSystem->setStartSizeVar(20);
//设置粒子结束大小,大小变化率
pParticleSystem->setStartSize(12);
pParticleSystem->setStartSizeVar(12);
//设置每秒产生粒子数
pParticleSystem->setEmissionRate(pParticleSystem->getTotalParticles()/pParticleSystem->getLife());  

this->addChild(pParticleSystem,1);

效果图:

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索cocos2d-x
, 颜色
, 大小
, 粒子系统
, 初始
, 粒子系统详解
加速度
cocos2d js 粒子系统、cocos2d 粒子系统、cocos2d x粒子系统、cocos2dx 粒子系统、cocos粒子系统,以便于您获取更多的相关知识。

时间: 2024-11-02 10:23:41

Cocos2D-X入门(6)粒子系统的相关文章

cocos2d基础入门

HelloCpp中Classes目录下放开发者自己的类: win32:平台相关,coco2d已默认创建:coco2d-x目录下,samples/cpp/HelloCpp/(工程根目录)图片放置位置:根目录下/Resources目录下;什么是场景:场景是占据屏幕的界面:什么是锚点:锚点如何设置: CCSprite * leftdoor = CCSprite::create("loading/door.png"); leftdoor->setAnchorPoint(ccp(1,0.5

Cocos2D-X入门(7)无限地图滚动

地图的滚动原理很简单,就是持续设置地图的位置即可.具体实现用schedule()函数. pMap = CCSprite::create("MapHenn.png"); pMap->setPosition(ccp(mSize.width/2, mSize.height/2)); this->addChild(pMap, 0); schedule(schedule_selector( SpriteScene::updateMap),0.1f); schedule()函数的作用就

Cocos2D-X入门(4)Touch 事件:移动精灵

在.h中声明: virtual void registerWithTouchDispatcher(void); virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent); virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent); virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent); virtual voi

Cocos2D-X入门(3)图片文字显示

在cocos2D-X中,一般用CCLabelTTF来显示文字: CCLabelTTF* pLabel=CCLabelTTF::create("This is a Label","Arial",24); pLabel->setPosition(ccp(mSize.width/2,mSize.height/2)); this->addChild(pLabel); 如果想要用自己设计的文字,那就要用CCLabelAtlas了,具体用法: //参数依次:文字内容

Cocos2d入门--1--初涉相关属性或代码

Cocos2d vision: cocos2d-x-3.8.1 万丈高楼,起于累土.对于一个游戏框架的学习,其实在于框架功能的使用积累,学会了如何在cocos2d游戏引擎的基础上使用它提供的各种功能,并灵活运用, 以及学会查阅Cocos2d官方提供的API文档.相信自己也能开发出自己喜爱或者让别人羡慕的游戏. 目录: 1>认识origin和visibleSize以及cocos2d的基础绘画类DrawNode的简单实用 2>认识 CCLOG() 3>有关schedule的使用 4>有

THREE.JS入门教程(4)创建粒子系统_基础知识

译序 Three.js是一个伟大的开源WebGL库,WebGL允许JavaScript操作GPU,在浏览器端实现真正意义的3D.但是目前这项技术还处在发展阶段,资料极为匮乏,爱好者学习基本要通过Demo源码和Three.js本身的源码来学习. 0.简介 嗨,又见面了.这么说我们已经开始学习Three.js了,如果你还没有看过之前三篇教程,建议你先读完.如果你已经读完前面的教程了,你可能会想做一些关于粒子的东西.让我们直面这个话题吧,每个人都爱粒子效果.不管你是否知道,你可以很轻易地创建它们. 1

Cocos2d入门--3--向量的应用

小球向一个方向持续运动的Demo HelloWorldScene.h ...... //设置一个protected的属性 protected: cocos2d::Vec2 _vec; ...... HelloWorldScene.cpp //这个是通过随机数设置向量的方向 _vec.set(random(-0.1f, 1.0f), random(-1.0f, 1.0f)); //通过normalize这个标准化函数,能够使得向量的大小为1 _vec.normalize(); auto dot =

Cocos2d入门--2--三角函数的应用

其实,三角函数的知识点是初中的数学基础.但是在编程里合理的利用的话,也会很好玩的,可以制作出很多有趣的动画特效. 首先要注意的是 角度 和 弧度 的转换. 360度 = 2×PI弧度 180度 = PI弧度 所以30度的正弦函数 = sin(30/180×PI) 但是在cocos2d游戏引擎提供的sin(参数值)这里的参数值范围是在[0,1]之间. 利用三角函数的波形来控制小球的运动 关键代码: 头文件: 1 protected: 2 float _angle; cpp实现文件: 1 _angl

Cocos2d入门--3--小球运动

本章直接上源代码.内容不难,主要就是 HelloWorldScene.h文件: 1 #ifndef __HELLOWORLD_SCENE_H__ 2 #define __HELLOWORLD_SCENE_H__ 3 4 #include "cocos2d.h" 5 6 class HelloWorld : public cocos2d::Layer 7 { 8 protected: 9 float _angle; 10 cocos2d::Vec2 _vec; 11 public: 12