Cocos2d-x引擎提供了强大的粒子系统,它在模仿自然现象、物理现象及空间扭曲上具备得天独厚的优势,为我们实现一些真实自然而又带有随机性的特效(如爆炸、烟花、水流)提供了方便
程序实例1:创建一个烟花效果的方法1
CCSize winSize = CCDirector::sharedDirector()->getWinSize(); //烟花效果 CCParticleFireworks* fw = CCParticleFireworks::create(); addChild(fw); fw->setposition(ccp(winSize.wIDth / 2,winSize.height / 2));
执行结果:
程序实例2:创建一个烟花效果的方法2
CCSize winSize = CCDirector::sharedDirector()->getWinSize(); //烟花效果 CCParticleSystemQuad* p = CCParticleFireworks::create(); addChild(p); p->setposition(winSize.wIDth / 2,winSize.height / 2);
执行结果:
程序实例3:创建一个星云效果
CCSize winSize = CCDirector::sharedDirector()->getWinSize(); //星云效果 CCParticleSystemQuad* p2 = CCParticlegalaxy::create(); addChild(p2); p2->setposition(ccp(winSize.wIDth / 2,winSize.height / 2));
执行结果:
程序实例4:创建一个彗星效果
CCSize winSize = CCDirector::sharedDirector()->getWinSize(); //彗星效果 CCParticleSystemQuad* p2 = CCParticleMeteor::create(); addChild(p2); p2->setposition(ccp(winSize.wIDth / 2,winSize.height / 2));
执行结果:
程序实例5:创建一个花束效果
CCSize winSize = CCDirector::sharedDirector()->getWinSize(); //鲜花效果 CCParticleSystemQuad* p2 = CCParticleFlower::create(); addChild(p2); p2->setposition(ccp(winSize.wIDth / 2,winSize.height / 2));
执行结果:
程序实例6:创建一个火焰效果
CCSize winSize = CCDirector::sharedDirector()->getWinSize(); //火焰效果 CCParticleSystemQuad* p2 = CCParticleFire::create(); addChild(p2); p2->setposition(ccp(winSize.wIDth / 2,winSize.height / 2));
执行结果:
程序实例7:5个效果放在一起展示
CCSize winSize = CCDirector::sharedDirector()->getWinSize(); //烟花效果 CCParticleSystemQuad* p1 = CCParticleFireworks::create(); //星云效果 CCParticleSystemQuad* p2 = CCParticlegalaxy::create(); //火焰效果 CCParticleSystemQuad* p3 = CCParticleFire::create(); //彗星效果 CCParticleSystemQuad* p4 = CCParticleMeteor::create(); //鲜花效果 CCParticleSystemQuad* p5 = CCParticleFlower::create(); addChild(p1); addChild(p2); addChild(p3); addChild(p4); addChild(p5); p1->setposition(ccp(100,winSize.height / 2)); p2->setposition(ccp(200,winSize.height / 2)); p3->setposition(ccp(300,winSize.height / 2)); p4->setposition(ccp(400,winSize.height / 2)); p5->setposition(ccp(500,winSize.height / 2));
执行效果:
程序实例8:执行人工编辑的粒子
CCSize winSize = CCDirector::sharedDirector()->getWinSize(); CCParticleSystemQuad* p = CCParticleSystemQuad::create("Particles/galaxy.pList"); addChild(p); p->setposition(ccp(winSize.wIDth / 2,winSize.height / 2));
执行结果:
程序实例8:执行可以移动的粒子
cclayer::init(); CCSize winSize = CCDirector::sharedDirector()->getWinSize(); CCParticleSystemQuad* p = CCParticleSystemQuad::create("Particles/Flower.pList"); addChild(p); p->setposition(ccp(100,winSize.height / 2)); CCMoveBy* by = CCMoveBy::create(4,ccp(winSize.wIDth,0)); p->runAction( CCRepeatForever::create( CCSequence::create(by,by->reverse(),NulL) ) );
执行结果:
总结以上是内存溢出为你收集整理的Cocos2d-X中的粒子全部内容,希望文章能够帮你解决Cocos2d-X中的粒子所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)