Cocos2d-x 火焰例子效果
阿新 • • 發佈:2019-01-23
#include "CpFireScene.h" using namespace cocos2d; CpFireScene::CpFireScene(void) { } bool CpFireScene::init() { if (!CCScene::init()) { return false; } return true; } void CpFireScene::onEnter() { CCNode::onEnter(); CCLog("CpFireScene::onEnter()"); } void CpFireScene::onEnterTransitionDidFinish() { CCNode::onEnterTransitionDidFinish(); //you can show a window here CCLog("CpFireScene::onEnterTransitionDidFinish()"); CCSize winSize=CCDirector::sharedDirector()->getWinSize(); CCSprite* pbgSprite=CCSprite::create("title_bg.jpg"); pbgSprite->setPosition(ccp(winSize.width/2,winSize.height/2)); this->addChild(pbgSprite,0); CCTexture2D* pfireTexture2D=CCTextureCache::sharedTextureCache()->addImage("fire.png"); const int fireCount=11; CCParticleSystem* firesParticleArray[fireCount]; for (int i = 0; i < fireCount; i++) { firesParticleArray[i]=CCParticleFire::create(); } firesParticleArray[0]->setPosition(ccp(100.0f, winSize.height - 502.0f)); firesParticleArray[1]->setPosition(ccp(200.0f, winSize.height - 563.0f)); firesParticleArray[2]->setPosition(ccp(300.0f, winSize.height - 563.0f)); firesParticleArray[3]->setPosition(ccp(400.0f, winSize.height - 563.0f)); firesParticleArray[4]->setPosition(ccp(500.0f, winSize.height - 563.0f)); firesParticleArray[5]->setPosition(ccp(600.0f, winSize.height - 563.0f)); firesParticleArray[6]->setPosition(ccp(700.0f, winSize.height - 563.0f)); firesParticleArray[7]->setPosition(ccp(800.0f, winSize.height - 563.0f)); firesParticleArray[8]->setPosition(ccp(900.0f, winSize.height - 563.0f)); firesParticleArray[9]->setPosition(ccp(1000.0f, winSize.height - 563.0f)); firesParticleArray[10]->setPosition(ccp(476.0f, winSize.height - 170.0f)); for (int i = 0; i < fireCount; i++) { firesParticleArray[i]->setTexture(pfireTexture2D); firesParticleArray[i]->setSpeed(100.0f); this->addChild(firesParticleArray[i],5); } } CpFireScene::~CpFireScene(void) { }