1. 程式人生 > >Cocos2d-x 火焰例子效果

Cocos2d-x 火焰例子效果

#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)
{
}