//------------------------------------------------------------------ // //Advance Particle Animation // //------------------------------------------------------------------ void ParticleAnimation::onEnter() { ParticleDemo::onEnter(); CCSprite *tSprite = CCSprite::spriteWithFile("Images/spritesheet1.png"); m_emitter = CCParticleAniamtion::node(); m_emitter->retain(); m_background->addChild(m_emitter, 10); m_emitter->setLife(3.0f); m_emitter->setLifeVar(2.5f); // angle m_emitter->setAngle(90); m_emitter->setAngleVar(360); // speed of particles m_emitter->setSpeed(50); m_emitter->setSpeedVar(35); ((AdvanceParticleQuadSystem *)m_emitter)->setDisplayFrameForAnimation(tSprite->displayedFrame(), 32, 32, 10, false); m_emitter->setEmissionRate(10000); ((AdvanceParticleQuadSystem *)m_emitter)->setStartSize(32.0f); ((AdvanceParticleQuadSystem *)m_emitter)->setEndSize(32.0); setEmitterPosition(); }
//------------------------------------------------------------------ // // DemoFlower // //------------------------------------------------------------------ void DemoFlower::onEnter() { ParticleDemo::onEnter(); m_emitter = CCParticleFlower::node(); m_emitter->retain(); m_background->addChild(m_emitter, 10); m_emitter->setTexture( CCTextureCache::sharedTextureCache()->addImage(s_stars1) ); setEmitterPosition(); }
//------------------------------------------------------------------ // // DemoFire // //------------------------------------------------------------------ void DemoFire::onEnter() { ParticleDemo::onEnter(); m_emitter = CCParticleFire::node(); m_emitter->retain(); m_background->addChild(m_emitter, 10); m_emitter->setTexture( CCTextureCache::sharedTextureCache()->addImage(s_fire) );//.pvr"]; CGPoint p = m_emitter->getPosition(); m_emitter->setPosition( CGPointMake(p.x, 100) ); setEmitterPosition(); }
//------------------------------------------------------------------ // // DemoExplosion // //------------------------------------------------------------------ void DemoExplosion::onEnter() { ParticleDemo::onEnter(); m_emitter = CCParticleExplosion::node(); m_emitter->retain(); m_background->addChild(m_emitter, 10); m_emitter->setTexture( CCTextureCache::sharedTextureCache()->addImage(s_stars1) ); m_emitter->setIsAutoRemoveOnFinish(true); setEmitterPosition(); }
//------------------------------------------------------------------ // // DemoParticleFromFile // //------------------------------------------------------------------ void DemoParticleFromFile::onEnter() { ParticleDemo::onEnter(); setColor(ccBLACK); removeChild(m_background, true); m_background = NULL; m_emitter = new CCParticleSystemQuad(); std::string filename = "Images/" + m_title + ".plist"; m_emitter->initWithFile(filename.c_str()); addChild(m_emitter, 10); setEmitterPosition(); }
//------------------------------------------------------------------ // // DemoRain // //------------------------------------------------------------------ void DemoRain::onEnter() { ParticleDemo::onEnter(); m_emitter = CCParticleRain::node(); m_emitter->retain(); m_background->addChild(m_emitter, 10); CCPoint p = m_emitter->getPosition(); m_emitter->setPosition( CCPointMake( p.x, p.y-100) ); m_emitter->setLife(4); m_emitter->setTexture( CCTextureCache::sharedTextureCache()->addImage(s_fire) ); setEmitterPosition(); }
//------------------------------------------------------------------ // // DemoRing // //------------------------------------------------------------------ void DemoRing::onEnter() { ParticleDemo::onEnter(); m_emitter = CCParticleFlower::node(); m_emitter->retain(); m_background->addChild(m_emitter, 10); m_emitter->setTexture( CCTextureCache::sharedTextureCache()->addImage(s_stars1) ); m_emitter->setLifeVar(0); m_emitter->setLife(10); m_emitter->setSpeed(100); m_emitter->setSpeedVar(0); m_emitter->setEmissionRate(10000); setEmitterPosition(); }
void GameAudioImpl::playSE3D(const StringRef& filePath, const Vector3& position, float distance, float volume, float pitch) { // サウンド作成 auto sound = createSound(filePath); sound->set3DEnabled(true); // 位置・ピッチ設定 sound->setEmitterPosition(position); sound->setEmitterMaxDistance(distance); sound->setVolume(volume); sound->setPitch(pitch); // 再生途中で解放されようとしても再生終了までは解放されない & SE として再生する sound->setGameAudioFlags(GameAudioFlags_SE); pushReleaseAtPlayEndList(sound); // 再生 sound->setLoopEnabled(false); sound->play(); }
//------------------------------------------------------------------ // // DemoSnow // //------------------------------------------------------------------ void DemoSnow::onEnter() { ParticleDemo::onEnter(); m_emitter = CCParticleSnow::node(); m_emitter->retain(); m_background->addChild(m_emitter, 10); CGPoint p = m_emitter->getPosition(); m_emitter->setPosition( CGPointMake( p.x, p.y-110) ); m_emitter->setLife(3); m_emitter->setLifeVar(1); // gravity m_emitter->setGravity(CGPointMake(0,-10)); // speed of particles m_emitter->setSpeed(130); m_emitter->setSpeedVar(30); ccColor4F startColor = m_emitter->getStartColor(); startColor.r = 0.9f; startColor.g = 0.9f; startColor.b = 0.9f; m_emitter->setStartColor(startColor); ccColor4F startColorVar = m_emitter->getStartColorVar(); startColorVar.b = 0.1f; m_emitter->setStartColorVar(startColorVar); m_emitter->setEmissionRate(m_emitter->getTotalParticles()/m_emitter->getLife()); m_emitter->setTexture( CCTextureCache::sharedTextureCache()->addImage(s_snow) ); setEmitterPosition(); }
//------------------------------------------------------------------ // // DemoModernArt // //------------------------------------------------------------------ void DemoModernArt::onEnter() { ParticleDemo::onEnter(); m_emitter = new CCParticleSystemPoint(); m_emitter->initWithTotalParticles(1000); //m_emitter->autorelease(); m_background->addChild(m_emitter, 10); ////m_emitter->release(); CGSize s = CCDirector::sharedDirector()->getWinSize(); // duration m_emitter->setDuration(-1); // gravity m_emitter->setGravity(CGPointMake(0,0)); // angle m_emitter->setAngle(0); m_emitter->setAngleVar(360); // radial m_emitter->setRadialAccel(70); m_emitter->setRadialAccelVar(10); // tagential m_emitter->setTangentialAccel(80); m_emitter->setTangentialAccelVar(0); // speed of particles m_emitter->setSpeed(50); m_emitter->setSpeedVar(10); // emitter position m_emitter->setPosition( CGPointMake( s.width/2, s.height/2) ); m_emitter->setPosVar(CGPointZero); // life of particles m_emitter->setLife(2.0f); m_emitter->setLifeVar(0.3f); // emits per frame m_emitter->setEmissionRate(m_emitter->getTotalParticles()/m_emitter->getLife()); // color of particles ccColor4F startColor = {0.5f, 0.5f, 0.5f, 1.0f}; m_emitter->setStartColor(startColor); ccColor4F startColorVar = {0.5f, 0.5f, 0.5f, 1.0f}; m_emitter->setStartColorVar(startColorVar); ccColor4F endColor = {0.1f, 0.1f, 0.1f, 0.2f}; m_emitter->setEndColor(endColor); ccColor4F endColorVar = {0.1f, 0.1f, 0.1f, 0.2f}; m_emitter->setEndColorVar(endColorVar); // size, in pixels m_emitter->setStartSize(1.0f); m_emitter->setStartSizeVar(1.0f); m_emitter->setEndSize(32.0f); m_emitter->setEndSizeVar(8.0f); // texture m_emitter->setTexture( CCTextureCache::sharedTextureCache()->addImage(s_fire) ); // additive m_emitter->setIsBlendAdditive(false); setEmitterPosition(); }
//------------------------------------------------------------------ // // DemoRotFlower // //------------------------------------------------------------------ void DemoRotFlower::onEnter() { ParticleDemo::onEnter(); m_emitter = new CCParticleSystemQuad(); m_emitter->initWithTotalParticles(300); //m_emitter->autorelease(); m_background->addChild(m_emitter, 10); ////m_emitter->release(); // win32 : Remove this line m_emitter->setTexture( CCTextureCache::sharedTextureCache()->addImage(s_stars2) ); // duration m_emitter->setDuration(-1); // gravity m_emitter->setGravity(CGPointZero); // angle m_emitter->setAngle(90); m_emitter->setAngleVar(360); // speed of particles m_emitter->setSpeed(160); m_emitter->setSpeedVar(20); // radial m_emitter->setRadialAccel(-120); m_emitter->setRadialAccelVar(0); // tagential m_emitter->setTangentialAccel(30); m_emitter->setTangentialAccelVar(0); // emitter position m_emitter->setPosition( CGPointMake(160,240) ); m_emitter->setPosVar(CGPointZero); // life of particles m_emitter->setLife(3); m_emitter->setLifeVar(1); // spin of particles m_emitter->setStartSpin(0); m_emitter->setStartSpinVar(0); m_emitter->setEndSpin(0); m_emitter->setEndSpinVar(2000); // color of particles ccColor4F startColor = {0.5f, 0.5f, 0.5f, 1.0f}; m_emitter->setStartColor(startColor); ccColor4F startColorVar = {0.5f, 0.5f, 0.5f, 1.0f}; m_emitter->setStartColorVar(startColorVar); ccColor4F endColor = {0.1f, 0.1f, 0.1f, 0.2f}; m_emitter->setEndColor(endColor); ccColor4F endColorVar = {0.1f, 0.1f, 0.1f, 0.2f}; m_emitter->setEndColorVar(endColorVar); // size, in pixels m_emitter->setStartSize(30.0f); m_emitter->setStartSizeVar(00.0f); m_emitter->setEndSize(kParticleStartSizeEqualToEndSize); // emits per second m_emitter->setEmissionRate(m_emitter->getTotalParticles()/m_emitter->getLife()); // additive m_emitter->setIsBlendAdditive(false); setEmitterPosition(); }
void setup() { m_Emitter = createParticleSystem(); addChildLocked(m_Emitter); setEmitterPosition(); setTouchEnabled(true); }