本文整理汇总了C++中CCParticleSystem::release方法的典型用法代码示例。如果您正苦于以下问题:C++ CCParticleSystem::release方法的具体用法?C++ CCParticleSystem::release怎么用?C++ CCParticleSystem::release使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCParticleSystem
的用法示例。
在下文中一共展示了CCParticleSystem::release方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: reorderChild
// Reorder will be done in this function, no "lazy" reorder to particles
void CCParticleBatchNode::reorderChild(CCNode * child, int zOrder)
{
CCAssert( child != NULL, "Child must be non-NULL");
CCAssert( dynamic_cast<CCParticleSystem*>(child) != NULL, "CCParticleBatchNode only supports CCQuadParticleSystems as children");
CCAssert( m_pChildren->containsObject(child), "Child doesn't belong to batch" );
CCParticleSystem* pChild = (CCParticleSystem*)(child);
if( zOrder == child->getZOrder() )
{
return;
}
// no reordering if only 1 child
if( m_pChildren->count() > 1)
{
unsigned int newIndex = 0, oldIndex = 0;
getCurrentIndex(&oldIndex, &newIndex, pChild, zOrder);
if( oldIndex != newIndex )
{
// reorder m_pChildren->array
pChild->retain();
m_pChildren->removeObjectAtIndex(oldIndex);
m_pChildren->insertObject(pChild, newIndex);
pChild->release();
// save old altasIndex
unsigned int oldAtlasIndex = pChild->getAtlasIndex();
// update atlas index
updateAllAtlasIndexes();
// Find new AtlasIndex
unsigned int newAtlasIndex = 0;
for( unsigned int i=0; i < m_pChildren->count(); i++)
{
CCParticleSystem* pNode = (CCParticleSystem*)m_pChildren->objectAtIndex(i);
if( pNode == pChild )
{
newAtlasIndex = pChild->getAtlasIndex();
break;
}
}
// reorder textureAtlas quads
m_pTextureAtlas->moveQuadsFromIndex(oldAtlasIndex, pChild->getTotalParticles(), newAtlasIndex);
pChild->updateWithNoTime();
}
}
pChild->setZOrder(zOrder);
}
示例2: initSun
void TestParticle::initSun()
{
CCParticleSystem *emitter = CCParticleSun::create();
emitter->retain();
addChild(emitter,10);
emitter->setStartSize(20.f);
emitter->setSpeed(50.f);
emitter->setTexture(CCTextureCache::sharedTextureCache()->addImage("fire.png"));
emitter->setPosition(ccp(size.width/6*4,size.height-85));
emitter->release();
}
示例3: initSpiral
void TestParticle::initSpiral()
{
CCParticleSystem *emitter = CCParticleSpiral::create();
emitter->retain();
addChild(emitter,10);
emitter->setTexture(CCTextureCache::sharedTextureCache()->addImage("fire.png"));
emitter->setPosition(ccp(250,50));
emitter->release();
}
示例4: initFlower
void TestParticle::initFlower()
{
CCParticleSystem *emitter = CCParticleFlower::create();
emitter->retain();
addChild(emitter,10);
// emitter->setStartSize(20.f);
emitter->setSpeed(100.f);
emitter->setTexture(CCTextureCache::sharedTextureCache()->addImage("stars.png"));
emitter->setPosition(ccp(size.width/6*1,size.height-250));
emitter->release();
}
示例5: initFirework
void TestParticle::initFirework()
{
CCParticleSystem *emitter = CCParticleFireworks::create();
emitter->retain();
addChild(emitter,10);
emitter->setStartSize(20.0f);
emitter->setSpeed(150.0f);
emitter->setTexture(CCTextureCache::sharedTextureCache()->addImage("stars.png"));
//emitter->setDuration(5.0f);
emitter->setPosition(ccp(size.width/6*2,size.height-150));
emitter->release();
}
示例6: initExplosion
void TestParticle::initExplosion()
{
CCParticleSystem *emitter = CCParticleExplosion::create();
emitter->retain();
addChild(emitter, 10);
emitter->setTexture( CCTextureCache::sharedTextureCache()->addImage("stars.png") );
emitter->setAutoRemoveOnFinish(true);
emitter->setPosition(ccp(400,50));
emitter->release();
}
示例7: initSmoke
void TestParticle::initSmoke()
{
CCParticleSystem *emitter = CCParticleSmoke::create();
emitter->retain();
this->addChild(emitter, 10);
emitter->setStartSize(20.0f);
//emitter->setTotalParticles(300);
emitter->setSpeed(150.0f); //设置速度
emitter->setTexture( CCTextureCache::sharedTextureCache()->addImage("fire.png") ); //设置图片
//emitter->setDuration(5.0f); //设置时间
emitter->setPosition(ccp(size.width/6,size.height-150)); //设置初始位置
emitter->release();
}
示例8: initRain
void TestParticle::initRain()
{
CCParticleSystem *emitter = CCParticleRain::create();
emitter->retain();
addChild(emitter, 10);
CCPoint p = emitter->getPosition();
emitter->setPosition( ccp( p.x, p.y-100) );
emitter->setLife(4);
emitter->setTexture( CCTextureCache::sharedTextureCache()->addImage("fire.png") );
emitter->setPosition(ccp(400,50));
emitter->release();
}
示例9: initSnow
void TestParticle::initSnow()
{
CCParticleSystem *emitter = CCParticleSnow::create();
emitter->retain();
addChild(emitter, 10);
CCPoint p = emitter->getPosition();
emitter->setPosition( ccp( p.x, p.y-110) );
emitter->setLife(3);
emitter->setLifeVar(1);
// gravity
emitter->setGravity(ccp(0,-10));
// speed of particles
emitter->setSpeed(130);
emitter->setSpeedVar(30);
ccColor4F startColor = emitter->getStartColor();
startColor.r = 0.9f;
startColor.g = 0.9f;
startColor.b = 0.9f;
emitter->setStartColor(startColor);
ccColor4F startColorVar = emitter->getStartColorVar();
startColorVar.b = 0.1f;
emitter->setStartColorVar(startColorVar);
emitter->setEmissionRate(emitter->getTotalParticles()/emitter->getLife());
emitter->setTexture( CCTextureCache::sharedTextureCache()->addImage("snow.png"));
emitter->setPosition(ccp(0,480));
emitter->release();
}
示例10: initRotFlower
void TestParticle::initRotFlower()
{
CCParticleSystem *emitter = new CCParticleSystemQuad();
emitter->initWithTotalParticles(300);
//emitter->autorelease();
addChild(emitter);
////emitter->release(); // win32 : Remove this line
emitter->setTexture( CCTextureCache::sharedTextureCache()->addImage("stars2.png"));
// duration
emitter->setDuration(-1);
// gravity
emitter->setGravity(CCPointZero);
// angle
emitter->setAngle(90);
emitter->setAngleVar(360);
emitter->setSpeed(160);
emitter->setSpeedVar(20);
// radial
emitter->setRadialAccel(-120);
emitter->setRadialAccelVar(0);
// tagential
emitter->setTangentialAccel(30);
emitter->setTangentialAccelVar(0);
// emitter position
emitter->setPosition( ccp(160,240) );
emitter->setPosVar(CCPointZero);
// life of particles
emitter->setLife(3);
emitter->setLifeVar(1);
// spin of particles
emitter->setStartSpin(0);
emitter->setStartSpinVar(0);
emitter->setEndSpin(0);
emitter->setEndSpinVar(2000);
ccColor4F startColor = {0.5f, 0.5f, 0.5f, 1.0f};
emitter->setStartColor(startColor);
ccColor4F startColorVar = {0.5f, 0.5f, 0.5f, 1.0f};
emitter->setStartColorVar(startColorVar);
ccColor4F endColor = {0.1f, 0.1f, 0.1f, 0.2f};
emitter->setEndColor(endColor);
ccColor4F endColorVar = {0.1f, 0.1f, 0.1f, 0.2f};
emitter->setEndColorVar(endColorVar);
// size, in pixels
emitter->setStartSize(30.0f);
emitter->setStartSizeVar(00.0f);
emitter->setEndSize(kParticleStartSizeEqualToEndSize);
// emits per second
emitter->setEmissionRate(emitter->getTotalParticles()/emitter->getLife());
// additive
emitter->setBlendAdditive(false);
emitter->setPosition(ccp(size.width/6*5,size.height-250));
emitter->release();
}
示例11: createParticleSystem
void ParticleMainScene::createParticleSystem()
{
CCParticleSystem *particleSystem = NULL;
/*
* Tests:
* 1: Point Particle System using 32-bit textures (PNG)
* 2: Point Particle System using 16-bit textures (PNG)
* 3: Point Particle System using 8-bit textures (PNG)
* 4: Point Particle System using 4-bit textures (PVRTC)
* 5: Quad Particle System using 32-bit textures (PNG)
* 6: Quad Particle System using 16-bit textures (PNG)
* 7: Quad Particle System using 8-bit textures (PNG)
* 8: Quad Particle System using 4-bit textures (PVRTC)
*/
removeChildByTag(kTagParticleSystem, true);
// remove the "fire.png" from the TextureCache cache.
CCTexture2D *texture = CCTextureCache::sharedTextureCache()->addImage("Images/fire.png");
CCTextureCache::sharedTextureCache()->removeTexture(texture);
//TODO: if (subtestNumber <= 3)
// {
// particleSystem = new CCParticleSystemPoint();
// }
// else
{
particleSystem = new CCParticleSystemQuad();
}
switch( subtestNumber)
{
case 1:
CCTexture2D::setDefaultAlphaPixelFormat(kCCTexture2DPixelFormat_RGBA8888);
particleSystem->initWithTotalParticles(quantityParticles);
particleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("Images/fire.png"));
break;
case 2:
CCTexture2D::setDefaultAlphaPixelFormat(kCCTexture2DPixelFormat_RGBA4444);
particleSystem->initWithTotalParticles(quantityParticles);
particleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("Images/fire.png"));
break;
case 3:
CCTexture2D::setDefaultAlphaPixelFormat(kCCTexture2DPixelFormat_A8);
particleSystem->initWithTotalParticles(quantityParticles);
particleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("Images/fire.png"));
break;
// case 4:
// particleSystem->initWithTotalParticles(quantityParticles);
// ////---- particleSystem.texture = [[CCTextureCache sharedTextureCache] addImage:@"fire.pvr"];
// particleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("Images/fire.png"));
// break;
case 4:
CCTexture2D::setDefaultAlphaPixelFormat(kCCTexture2DPixelFormat_RGBA8888);
particleSystem->initWithTotalParticles(quantityParticles);
particleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("Images/fire.png"));
break;
case 5:
CCTexture2D::setDefaultAlphaPixelFormat(kCCTexture2DPixelFormat_RGBA4444);
particleSystem->initWithTotalParticles(quantityParticles);
particleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("Images/fire.png"));
break;
case 6:
CCTexture2D::setDefaultAlphaPixelFormat(kCCTexture2DPixelFormat_A8);
particleSystem->initWithTotalParticles(quantityParticles);
particleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("Images/fire.png"));
break;
// case 8:
// particleSystem->initWithTotalParticles(quantityParticles);
// ////---- particleSystem.texture = [[CCTextureCache sharedTextureCache] addImage:@"fire.pvr"];
// particleSystem->setTexture(CCTextureCache::sharedTextureCache()->addImage("Images/fire.png"));
// break;
default:
particleSystem = NULL;
CCLOG("Shall not happen!");
break;
}
addChild(particleSystem, 0, kTagParticleSystem);
particleSystem->release();
doTest();
// restore the default pixel format
CCTexture2D::setDefaultAlphaPixelFormat(kCCTexture2DPixelFormat_RGBA8888);
}