我的Cocos2d-x学习笔记(二十一)内置粒子系统、使用粒子特效文件

前端之家收集整理的这篇文章主要介绍了我的Cocos2d-x学习笔记(二十一)内置粒子系统、使用粒子特效文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一、简介

在大自然中,随处可见一些大规模运动的物体,例如下雨时的雨点、下雪时的雪花、爆炸时的火花,甚至旋转的星系、扩散的云雾等。当我们希望在游戏中模拟这些大规模运动的物体时,通常有如下两种方法

Cocos2d - x中粒子系统由CCParticleSystem类实现,CCParticleSystem实现了对粒子的控制与调度。

对粒子的操作包括
产生粒子:也称作粒子发射器。
更新粒子状态:引擎会随时更新粒子的位置、速度及其他状态。
回收无效粒子:当粒子生存周期结束后,被系统回收。

二、内置粒子系统

Cocos2d-x内置11种粒子效果,其类派生关系如下:


setTexture():设置特效贴图。

setAutoRemoveOnFinish(bool):设置自动释放true为自动释放。

(一)爆炸效果:CCParticleExplosion

实例;

	CCParticleExplosion * explosion = CCParticleExplosion::create();
	explosion->setTexture(CCTextureCache::sharedTextureCache()->addImage("huangjinpao.png"));
	explosion->setPosition(ccp(200,200));
	addChild(explosion);
(二)火焰效果:CCParticleFire

实例:

	CCParticleFire * fire = CCParticleFire::create();
	fire->setTexture(CCTextureCache::sharedTextureCache()->addImage("huangjinpao.png"));
	fire->setPosition(ccp(200,200));
	addChild(fire);
(三)花束效果:CCParticleFlower

实例:

	CCParticleFlower* flower = CCParticleFlower::create();
	flower->setTexture(CCTextureCache::sharedTextureCache()->addImage("huangjinpao.png"));
	flower->setPosition(ccp(200,200));
	addChild(flower);

(四)烟花效果:CCParticleFireworks

实例:

	CCParticleFireworks* fireworks = CCParticleFireworks::create();
	fireworks->setTexture(CCTextureCache::sharedTextureCache()->addImage("huangjinpao.png"));
	fireworks->setPosition(ccp(200,200));
	addChild(fireworks);

(五)星系效果:CCParticleGalaxy

实例:

	CCParticleGalaxy* galaxy = CCParticleGalaxy::create();
	galaxy->setTexture(CCTextureCache::sharedTextureCache()->addImage("huangjinpao.png"));
	galaxy->setPosition(ccp(200,200));
	addChild(galaxy);
(六)流星效果:CCParticleMeteor

实例:

	CCParticleMeteor* meteor = CCParticleMeteor::create();
	meteor->setTexture(CCTextureCache::sharedTextureCache()->addImage("huangjinpao.png"));
	meteor->setPosition(ccp(200,200));
	addChild(meteor);
(七)下雨效果:CCParticleRain

实例:

	CCParticleRain* rain = CCParticleRain::create();
	rain->setTexture(CCTextureCache::sharedTextureCache()->addImage("huangjinpao.png"));
	rain->setPosition(ccp(200,200));
	addChild(rain);
(八)烟雾效果:CCParticleSmoke

实例:

	CCParticleSmoke* smoke = CCParticleSmoke::create();
	smoke->setTexture(CCTextureCache::sharedTextureCache()->addImage("huangjinpao.png"));
	smoke->setPosition(ccp(200,200));
	addChild(smoke);
(九)下雪效果:CCParticleSnow

实例:

	CCParticleSnow* snow = CCParticleSnow::create();
	snow->setTexture(CCTextureCache::sharedTextureCache()->addImage("huangjinpao.png"));
	snow->setPosition(ccp(200,200));
	addChild(snow);
(十)漩涡效果:CCParticleSpiral

实例:

	CCParticleSpiral* spiral = CCParticleSpiral::create();
	spiral->setTexture(CCTextureCache::sharedTextureCache()->addImage("huangjinpao.png"));
	spiral->setPosition(ccp(200,200));
	addChild(spiral);
(十一)太阳效果:CCParticleSun

实例:

	CCParticleSun* sun = CCParticleSun::create();
	sun->setTexture(CCTextureCache::sharedTextureCache()->addImage("huangjinpao.png"));
	sun->setPosition(ccp(200,200));
	addChild(sun);
三、使用粒子编辑器编辑的粒子效果

实例:

	CCParticleSystemQuad *snow = new CCParticleSystemQuad();
	snow->initWithFile("gas_explode.plist");
	snow->setPosition(ccp(200,200));
	addChild(snow);
plist文件可以通过例子编辑器获得。

猜你在找的Cocos2d-x相关文章