public override void onEnter() { base.onEnter(); Color = new ccColor3B(0,0,0); removeChild(m_background, true); m_background = null; m_emitter = new CCParticleSystemQuad(); m_emitter.initWithTotalParticles(100); addChild(m_emitter, 10); m_emitter.Texture = CCTextureCache.sharedTextureCache().addImage("Images/fire"); // duration m_emitter.Duration = (float)eParticleShowingProperty.kCCParticleDurationInfinity; // radius mode m_emitter.EmitterMode = (int)eParticleMode.kCCParticleModeRadius; // radius mode: start and end radius in pixels m_emitter.setStartRadius(50); m_emitter.setStartRadiusVar(0); m_emitter.setEndRadius((float)eParticleShowingProperty.kCCParticleStartRadiusEqualToEndRadius); m_emitter.setEndRadiusVar(0); // radius mode: degrees per second m_emitter.setRotatePerSecond(0); m_emitter.setRotatePerSecondVar(0); // angle m_emitter.Angle = 90; m_emitter.AngleVar = 0; // emitter position CCSize size = CCDirector.sharedDirector().getWinSize(); m_emitter.position = new CCPoint(size.width/2, size.height/2); m_emitter.PosVar = new CCPoint(0,0); // life of particles m_emitter.Life = 5; m_emitter.LifeVar = 0; // spin of particles m_emitter.StartSpin = 0; m_emitter.StartSpinVar = 0; m_emitter.EndSpin = 0; m_emitter.EndSpinVar = 0; // color of particles ccColor4F startColor = new ccColor4F(0.5f, 0.5f, 0.5f, 1.0f); m_emitter.StartColor = startColor; ccColor4F startColorVar = new ccColor4F(0.5f, 0.5f, 0.5f, 1.0f); m_emitter.StartColorVar = startColorVar; ccColor4F endColor = new ccColor4F(0.1f, 0.1f, 0.1f, 0.2f); m_emitter.EndColor = endColor; ccColor4F endColorVar = new ccColor4F(0.1f, 0.1f, 0.1f, 0.2f); m_emitter.EndColorVar = endColorVar; // size, in pixels m_emitter.StartSize = 16; m_emitter.StartSizeVar = 0; m_emitter.EndSize = (float)eParticleShowingProperty.kCCParticleStartSizeEqualToEndSize; // emits per second m_emitter.EmissionRate = m_emitter.TotalParticles / m_emitter.Life; // additive m_emitter.IsBlendAdditive = false; CCRotateBy rot = CCRotateBy.actionWithDuration(16, 360); m_emitter.runAction(CCRepeatForever.actionWithAction(rot)); }