コード例 #1
0
        public CCParticleSnow(CCPoint position, CCEmitterMode emitterMode = CCEmitterMode.Gravity) : base(700, emitterMode)
        {
            Duration     = ParticleDurationInfinity;
            Life         = 45;
            LifeVar      = 15;
            Position     = position;
            PositionVar  = new CCPoint(position.X, 0);
            Angle        = -90;
            AngleVar     = 5;
            StartSize    = 10.0f;
            StartSizeVar = 5.0f;
            EndSize      = ParticleStartSizeEqualToEndSize;

            EmissionRate = 10;

            StartColor    = new CCColor4F(1.0f, 1.0f, 1.0f, 1.0f);
            StartColorVar = new CCColor4F();
            EndColor      = new CCColor4F(1.0f, 1.0f, 1.0f, 0.0f);
            EndColorVar   = new CCColor4F();

            GravityMoveMode gravityMode = new GravityMoveMode();

            gravityMode.Gravity            = new CCPoint(0, -1);
            gravityMode.RadialAccel        = 0;
            gravityMode.RadialAccelVar     = 1;
            gravityMode.TangentialAccel    = 0;
            gravityMode.TangentialAccelVar = 1;
            gravityMode.Speed    = 5;
            gravityMode.SpeedVar = 1;
            GravityMode          = gravityMode;

            BlendAdditive = false;

            Texture = CCParticleExample.DefaultTexture;
        }
コード例 #2
0
        public CCParticleFlower(CCPoint position) : base(250)
        {
            Duration     = ParticleDurationInfinity;
            Life         = 4;
            LifeVar      = 1;
            Position     = position;
            PositionVar  = CCPoint.Zero;
            Angle        = 90;
            AngleVar     = 360;
            StartSize    = 30.0f;
            StartSizeVar = 10.0f;
            EndSize      = ParticleStartSizeEqualToEndSize;

            EmissionRate = TotalParticles / Life;

            StartColor    = new CCColor4F(0.5f, 0.5f, 0.5f, 1.0f);
            StartColorVar = new CCColor4F(0.5f, 0.5f, 0.5f, 0.5f);
            EndColor      = new CCColor4F(0.0f, 0.0f, 0.0f, 1.0f);
            EndColorVar   = new CCColor4F();

            GravityMoveMode gravityMode = new GravityMoveMode();

            gravityMode.Gravity            = new CCPoint(0, 0);
            gravityMode.RadialAccel        = -60;
            gravityMode.RadialAccelVar     = 0;
            gravityMode.Speed              = 80;
            gravityMode.SpeedVar           = 10;
            gravityMode.TangentialAccel    = 15;
            gravityMode.TangentialAccelVar = 0;
            GravityMode = gravityMode;

            BlendAdditive = true;

            Texture = CCParticleExample.DefaultTexture;
        }
コード例 #3
0
        public CCParticleRain(CCPoint position, CCEmitterMode emitterMode = CCEmitterMode.Gravity) : base(1000, emitterMode)
        {
            Duration     = ParticleDurationInfinity;
            Position     = position;
            PositionVar  = new CCPoint(position.X, 0);
            Life         = 4.5f;
            LifeVar      = 0;
            Angle        = -90;
            AngleVar     = 5;
            StartSize    = 4.0f;
            StartSizeVar = 2.0f;
            EndSize      = ParticleStartSizeEqualToEndSize;

            EmissionRate = 20;

            StartColor    = new CCColor4F(0.7f, 0.8f, 1.0f, 1.0f);
            StartColorVar = new CCColor4F();
            EndColor      = new CCColor4F(0.7f, 0.8f, 1.0f, 0.5f);
            EndColorVar   = new CCColor4F();

            GravityMoveMode gravityMode = new GravityMoveMode();

            gravityMode.Gravity            = new CCPoint(10, -10);
            gravityMode.RadialAccel        = 0;
            gravityMode.RadialAccelVar     = 1;
            gravityMode.TangentialAccel    = 0;
            gravityMode.TangentialAccelVar = 1;
            gravityMode.Speed    = 130;
            gravityMode.SpeedVar = 30;
            GravityMode          = gravityMode;

            BlendAdditive = false;

            Texture = CCParticleExample.DefaultTexture;
        }
コード例 #4
0
        public CCParticleExplosion(CCPoint position, CCEmitterMode emitterMode = CCEmitterMode.Gravity) : base(700, emitterMode)
        {
            Duration     = 0.1f;
            Life         = 5.0f;
            LifeVar      = 2;
            Position     = new CCPoint(position);
            PositionVar  = CCPoint.Zero;
            Angle        = 90;
            AngleVar     = 360;
            StartSize    = 15.0f;
            StartSizeVar = 10.0f;
            EndSize      = ParticleStartSizeEqualToEndSize;

            EmissionRate = TotalParticles / Duration;

            StartColor    = new CCColor4F(0.7f, 0.1f, 0.2f, 1.0f);
            StartColorVar = new CCColor4F(0.5f, 0.5f, 0.5f, 0.0f);
            EndColor      = new CCColor4F(0.5f, 0.5f, 0.5f, 0.0f);
            EndColorVar   = new CCColor4F(0.5f, 0.5f, 0.5f, 0.0f);

            GravityMoveMode gravityMode = new GravityMoveMode();

            gravityMode.Gravity            = new CCPoint(0, 0);
            gravityMode.RadialAccel        = 0;
            gravityMode.RadialAccelVar     = 0;
            gravityMode.Speed              = 70;
            gravityMode.SpeedVar           = 40;
            gravityMode.TangentialAccel    = 0;
            gravityMode.TangentialAccelVar = 0;
            GravityMode = gravityMode;

            BlendAdditive = false;

            Texture = CCParticleExample.DefaultTexture;
        }
コード例 #5
0
        public CCParticleSpiral(CCPoint position, CCEmitterMode emitterMode = CCEmitterMode.Gravity) : base(500, emitterMode)
        {
            Duration     = ParticleDurationInfinity;
            Position     = position;
            PositionVar  = CCPoint.Zero;
            Life         = 12;
            LifeVar      = 0;
            Angle        = 90;
            AngleVar     = 0;
            StartSize    = 20.0f;
            StartSizeVar = 0.0f;
            EndSize      = ParticleStartSizeEqualToEndSize;

            EmissionRate = TotalParticles / Life;

            StartColor    = new CCColor4F(0.5f, 0.5f, 0.5f, 1.0f);
            StartColorVar = new CCColor4F(0.5f, 0.5f, 0.5f, 0.0f);
            EndColor      = new CCColor4F(0.5f, 0.5f, 0.5f, 1.0f);
            EndColorVar   = new CCColor4F(0.5f, 0.5f, 0.5f, 0.0f);

            GravityMoveMode gravityMode = new GravityMoveMode();

            gravityMode.Gravity            = new CCPoint(0, 0);
            gravityMode.RadialAccel        = -380;
            gravityMode.RadialAccelVar     = 0;
            gravityMode.Speed              = 150;
            gravityMode.SpeedVar           = 0;
            gravityMode.TangentialAccel    = 45;
            gravityMode.TangentialAccelVar = 0;
            GravityMode = gravityMode;

            BlendAdditive = false;

            Texture = CCParticleExample.DefaultTexture;
        }
コード例 #6
0
        public CCParticleSun(CCPoint position, int num, CCEmitterMode emitterMode = CCEmitterMode.Gravity) : base(num, emitterMode)
        {
            Duration     = ParticleDurationInfinity;
            Life         = 1;
            LifeVar      = 0.5f;
            Position     = position;
            PositionVar  = CCPoint.Zero;
            Angle        = 90;
            AngleVar     = 360;
            StartSize    = 30.0f;
            StartSizeVar = 10.0f;
            EndSize      = ParticleStartSizeEqualToEndSize;

            EmissionRate = TotalParticles / Life;

            StartColor    = new CCColor4F(0.76f, 0.25f, 0.12f, 1.0f);
            StartColorVar = new CCColor4F();
            EndColor      = new CCColor4F(0.0f, 0.0f, 0.0f, 1.0f);
            EndColorVar   = new CCColor4F();

            GravityMoveMode gravityMode = new GravityMoveMode();

            gravityMode.Gravity        = new CCPoint(0, 0);
            gravityMode.RadialAccel    = 0;
            gravityMode.RadialAccelVar = 0;
            gravityMode.Speed          = 20;
            gravityMode.SpeedVar       = 5;
            GravityMode = gravityMode;

            BlendAdditive = true;

            Texture = CCParticleExample.DefaultTexture;
        }
コード例 #7
0
        public CCParticleMeteor(CCPoint position, CCEmitterMode emitterMode = CCEmitterMode.Gravity) : base(150, emitterMode)
        {
            Duration     = ParticleDurationInfinity;
            Life         = 2;
            LifeVar      = 1;
            Position     = position;
            PositionVar  = CCPoint.Zero;
            Angle        = 90;
            AngleVar     = 360;
            StartSize    = 60.0f;
            StartSizeVar = 10.0f;
            EndSize      = ParticleStartSizeEqualToEndSize;

            EmissionRate = TotalParticles / Life;

            StartColor    = new CCColor4F(0.2f, 0.4f, 0.7f, 1.0f);
            StartColorVar = new CCColor4F(0.0f, 0.0f, 0.2f, 0.1f);
            EndColor      = new CCColor4F(0.0f, 0.0f, 0.0f, 1.0f);
            EndColorVar   = new CCColor4F();

            GravityMoveMode gravityMode = new GravityMoveMode();

            gravityMode.Gravity            = new CCPoint(-200, 200);
            gravityMode.RadialAccel        = 0;
            gravityMode.RadialAccelVar     = 0;
            gravityMode.Speed              = 15;
            gravityMode.SpeedVar           = 5;
            gravityMode.TangentialAccel    = 0;
            gravityMode.TangentialAccelVar = 0;
            GravityMode = gravityMode;

            BlendAdditive = true;

            Texture = CCParticleExample.DefaultTexture;
        }
コード例 #8
0
        public CCParticleSmoke(CCPoint position, CCEmitterMode emitterMode = CCEmitterMode.Gravity) : base(200, emitterMode)
        {
            Duration     = ParticleDurationInfinity;
            Life         = 4;
            LifeVar      = 1;
            Position     = position;
            PositionVar  = new CCPoint(20, 0);
            Angle        = 90;
            AngleVar     = 5;
            StartSize    = 60.0f;
            StartSizeVar = 10.0f;
            EndSize      = ParticleStartSizeEqualToEndSize;

            EmissionRate = TotalParticles / Life;

            StartColor    = new CCColor4F(0.8f, 0.8f, 0.8f, 1.0f);
            StartColorVar = new CCColor4F(0.02f, 0.02f, 0.02f, 0.0f);
            EndColor      = new CCColor4F(0.0f, 0.0f, 0.0f, 1.0f);
            EndColorVar   = new CCColor4F();

            GravityMoveMode gravityMode = new GravityMoveMode();

            gravityMode.Gravity        = new CCPoint(0, 0);
            gravityMode.RadialAccel    = 0;
            gravityMode.RadialAccelVar = 0;
            gravityMode.Speed          = 25;
            gravityMode.SpeedVar       = 10;
            GravityMode = gravityMode;

            BlendAdditive = false;

            Texture = CCParticleExample.DefaultTexture;
        }
コード例 #9
0
        public CCParticleFireworks(CCPoint position, CCEmitterMode emitterMode = CCEmitterMode.Gravity) : base(1500, emitterMode)
        {
            Duration     = ParticleDurationInfinity;
            Life         = 3.5f;
            LifeVar      = 1;
            Position     = position;
            Angle        = 90;
            AngleVar     = 20;
            StartSize    = 8.0f;
            StartSizeVar = 2.0f;
            EndSize      = ParticleStartSizeEqualToEndSize;

            EmissionRate = TotalParticles / Life;

            StartColor = new CCColor4F(0.5f, 0.5f, 0.5f, 1.0f);

            CCColor4F startColorVar = new CCColor4F();

            startColorVar.R = 0.5f;
            startColorVar.G = 0.5f;
            startColorVar.B = 0.5f;
            startColorVar.A = 0.1f;
            StartColorVar   = startColorVar;

            CCColor4F endColor = new CCColor4F();

            endColor.R = 0.1f;
            endColor.G = 0.1f;
            endColor.B = 0.1f;
            endColor.A = 0.2f;
            EndColor   = endColor;

            CCColor4F endColorVar = new CCColor4F();

            endColorVar.R = 0.1f;
            endColorVar.G = 0.1f;
            endColorVar.B = 0.1f;
            endColorVar.A = 0.2f;
            EndColorVar   = endColorVar;

            GravityMoveMode gravityMode = new GravityMoveMode();

            gravityMode.Gravity        = new CCPoint(0, -90);
            gravityMode.RadialAccel    = 0;
            gravityMode.RadialAccelVar = 0;
            gravityMode.Speed          = 180;
            gravityMode.SpeedVar       = 50;
            GravityMode = gravityMode;

            BlendAdditive = false;

            Texture = CCParticleExample.DefaultTexture;
        }
コード例 #10
0
        public CCParticleFlower(CCPoint position) : base(250)
        {
            Duration = ParticleDurationInfinity;
            Life = 4;
            LifeVar = 1;
            Position = position;
            PositionVar = CCPoint.Zero;
            Angle = 90;
            AngleVar = 360;
            StartSize = 30.0f;
            StartSizeVar = 10.0f;
            EndSize = ParticleStartSizeEqualToEndSize;

            EmissionRate = TotalParticles / Life;

            StartColor = new CCColor4F(0.5f, 0.5f, 0.5f, 1.0f);
            StartColorVar = new CCColor4F(0.5f, 0.5f, 0.5f, 0.5f);
            EndColor = new CCColor4F(0.0f, 0.0f, 0.0f, 1.0f);
            EndColorVar = new CCColor4F();

            GravityMoveMode gravityMode = new GravityMoveMode();
            gravityMode.Gravity = new CCPoint(0, 0);
            gravityMode.RadialAccel = -60;
            gravityMode.RadialAccelVar = 0;
            gravityMode.Speed = 80;
            gravityMode.SpeedVar = 10;
            gravityMode.TangentialAccel = 15;
            gravityMode.TangentialAccelVar = 0;
            GravityMode = gravityMode;

            BlendAdditive = true;

            Texture = CCParticleExample.DefaultTexture;
        }
コード例 #11
0
        public CCParticleSystem(CCParticleSystemConfig particleConfig) : this(particleConfig.MaxParticles, false)
        {
            Duration     = particleConfig.Duration;;
            Life         = particleConfig.Life;
            LifeVar      = particleConfig.LifeVar;
            EmissionRate = TotalParticles / Life;

            Angle    = particleConfig.Angle;
            AngleVar = particleConfig.AngleVar;

            CCBlendFunc blendFunc = new CCBlendFunc();

            blendFunc.Source      = particleConfig.BlendFunc.Source;
            blendFunc.Destination = particleConfig.BlendFunc.Destination;
            BlendFunc             = blendFunc;

            CCColor4F startColor = new CCColor4F();

            startColor.R = particleConfig.StartColor.R;
            startColor.G = particleConfig.StartColor.G;
            startColor.B = particleConfig.StartColor.B;
            startColor.A = particleConfig.StartColor.A;
            StartColor   = startColor;

            CCColor4F startColorVar = new CCColor4F();

            startColorVar.R = particleConfig.StartColorVar.R;
            startColorVar.G = particleConfig.StartColorVar.G;
            startColorVar.B = particleConfig.StartColorVar.B;
            startColorVar.A = particleConfig.StartColorVar.A;
            StartColorVar   = startColorVar;

            CCColor4F endColor = new CCColor4F();

            endColor.R = particleConfig.EndColor.R;
            endColor.G = particleConfig.EndColor.G;
            endColor.B = particleConfig.EndColor.B;
            endColor.A = particleConfig.EndColor.A;
            EndColor   = endColor;

            CCColor4F endColorVar = new CCColor4F();

            endColorVar.R = particleConfig.EndColorVar.R;
            endColorVar.G = particleConfig.EndColorVar.G;
            endColorVar.B = particleConfig.EndColorVar.B;
            endColorVar.A = particleConfig.EndColorVar.A;
            EndColorVar   = endColorVar;

            StartSize    = particleConfig.StartSize;
            StartSizeVar = particleConfig.StartSizeVar;
            EndSize      = particleConfig.EndSize;
            EndSizeVar   = particleConfig.EndSizeVar;

            CCPoint position;

            position.X = particleConfig.Position.X;
            position.Y = particleConfig.Position.Y;
            Position   = position;

            CCPoint positionVar;

            positionVar.X = particleConfig.PositionVar.X;
            positionVar.Y = particleConfig.PositionVar.X;
            PositionVar   = positionVar;

            StartSpin    = particleConfig.StartSpin;
            StartSpinVar = particleConfig.StartSpinVar;
            EndSpin      = particleConfig.EndSpin;
            EndSpinVar   = particleConfig.EndSpinVar;

            EmitterMode = particleConfig.EmitterMode;

            if (EmitterMode == CCEmitterMode.Gravity)
            {
                GravityParticles = new CCParticleGravity[TotalParticles];

                GravityMoveMode newGravityMode = new GravityMoveMode();

                CCPoint gravity;
                gravity.X = particleConfig.Gravity.X;
                gravity.Y = particleConfig.Gravity.Y;
                newGravityMode.Gravity = gravity;

                newGravityMode.Speed              = particleConfig.GravitySpeed;
                newGravityMode.SpeedVar           = particleConfig.GravitySpeedVar;
                newGravityMode.RadialAccel        = particleConfig.GravityRadialAccel;
                newGravityMode.RadialAccelVar     = particleConfig.GravityRadialAccelVar;
                newGravityMode.TangentialAccel    = particleConfig.GravityTangentialAccel;
                newGravityMode.TangentialAccelVar = particleConfig.GravityTangentialAccelVar;
                newGravityMode.RotationIsDir      = particleConfig.GravityRotationIsDir;

                GravityMode = newGravityMode;
            }
            else if (EmitterMode == CCEmitterMode.Radius)
            {
                RadialParticles = new CCParticleRadial[TotalParticles];

                RadialMoveMode newRadialMode = new RadialMoveMode();

                newRadialMode.StartRadius        = particleConfig.RadialStartRadius;
                newRadialMode.StartRadiusVar     = particleConfig.RadialStartRadiusVar;
                newRadialMode.EndRadius          = particleConfig.RadialEndRadius;
                newRadialMode.EndRadiusVar       = particleConfig.RadialEndRadiusVar;
                newRadialMode.RotatePerSecond    = particleConfig.RadialRotatePerSecond;
                newRadialMode.RotatePerSecondVar = particleConfig.RadialRotatePerSecondVar;

                RadialMode = newRadialMode;
            }
            else
            {
                Debug.Assert(false, "Invalid emitterType in config file");
                return;
            }

            // Don't get the internal texture if a batchNode is used
            if (BatchNode == null)
            {
                Texture = particleConfig.Texture;
            }
        }
コード例 #12
0
        public CCParticleSystem(CCParticleSystemConfig particleConfig) : this(particleConfig.MaxParticles, false)
        {
            Duration = particleConfig.Duration;;
            Life = particleConfig.Life;
            LifeVar = particleConfig.LifeVar;
            EmissionRate = TotalParticles / Life;

            Angle = particleConfig.Angle;
            AngleVar = particleConfig.AngleVar;

            CCColor4F startColor = new CCColor4F();
            startColor.R = particleConfig.StartColor.R;
            startColor.G = particleConfig.StartColor.G;
            startColor.B = particleConfig.StartColor.B;
            startColor.A = particleConfig.StartColor.A;
            StartColor = startColor;

            CCColor4F startColorVar = new CCColor4F();
            startColorVar.R = particleConfig.StartColorVar.R;
            startColorVar.G = particleConfig.StartColorVar.G;
            startColorVar.B = particleConfig.StartColorVar.B;
            startColorVar.A = particleConfig.StartColorVar.A;
            StartColorVar = startColorVar;

            CCColor4F endColor = new CCColor4F();
            endColor.R = particleConfig.EndColor.R;
            endColor.G = particleConfig.EndColor.G;
            endColor.B = particleConfig.EndColor.B;
            endColor.A = particleConfig.EndColor.A;
            EndColor = endColor;

            CCColor4F endColorVar = new CCColor4F();
            endColorVar.R = particleConfig.EndColorVar.R;
            endColorVar.G = particleConfig.EndColorVar.G;
            endColorVar.B = particleConfig.EndColorVar.B;
            endColorVar.A = particleConfig.EndColorVar.A;
            EndColorVar = endColorVar;

            StartSize = particleConfig.StartSize;
            StartSizeVar = particleConfig.StartSizeVar;
            EndSize = particleConfig.EndSize;
            EndSizeVar = particleConfig.EndSizeVar;

            CCPoint position;
            position.X = particleConfig.Position.X;
            position.Y = particleConfig.Position.Y;
            Position = position;

            CCPoint positionVar;
            positionVar.X = particleConfig.PositionVar.X;
            positionVar.Y = particleConfig.PositionVar.X;
            PositionVar = positionVar;

            StartSpin = particleConfig.StartSpin;
            StartSpinVar = particleConfig.StartSpinVar;
            EndSpin = particleConfig.EndSpin;
            EndSpinVar = particleConfig.EndSpinVar;

            EmitterMode = particleConfig.EmitterMode;

            if (EmitterMode == CCEmitterMode.Gravity)
            {
                GravityParticles = new CCParticleGravity[TotalParticles];

                GravityMoveMode newGravityMode = new GravityMoveMode();

                CCPoint gravity;
                gravity.X = particleConfig.Gravity.X;
                gravity.Y = particleConfig.Gravity.Y;
                newGravityMode.Gravity = gravity;

                newGravityMode.Speed = particleConfig.GravitySpeed;
                newGravityMode.SpeedVar = particleConfig.GravitySpeedVar;
                newGravityMode.RadialAccel = particleConfig.GravityRadialAccel;
                newGravityMode.RadialAccelVar = particleConfig.GravityRadialAccelVar;
                newGravityMode.TangentialAccel = particleConfig.GravityTangentialAccel;
                newGravityMode.TangentialAccelVar = particleConfig.GravityTangentialAccelVar;
                newGravityMode.RotationIsDir = particleConfig.GravityRotationIsDir;

                GravityMode = newGravityMode;
            }
            else if (EmitterMode == CCEmitterMode.Radius)
            {
                RadialParticles = new CCParticleRadial[TotalParticles];

                RadialMoveMode newRadialMode = new RadialMoveMode();

                newRadialMode.StartRadius = particleConfig.RadialStartRadius;
                newRadialMode.StartRadiusVar = particleConfig.RadialStartRadiusVar;
                newRadialMode.EndRadius = particleConfig.RadialEndRadius;
                newRadialMode.EndRadiusVar = particleConfig.RadialEndRadiusVar;
                newRadialMode.RotatePerSecond = particleConfig.RadialRotatePerSecond;
                newRadialMode.RotatePerSecondVar = particleConfig.RadialRotatePerSecondVar;

                RadialMode = newRadialMode;
            }
            else
            {
                Debug.Assert(false, "Invalid emitterType in config file");
                return;
            }
        }
コード例 #13
0
        public CCParticleGalaxy(CCPoint position, CCEmitterMode emitterMode=CCEmitterMode.Gravity) : base(200, emitterMode)
        {
            Duration = ParticleDurationInfinity;
            Life = 4;
            LifeVar = 1;
            Position = position;
            PositionVar = CCPoint.Zero;
            Angle = 90;
            AngleVar = 360;
            StartSize = 37.0f;
            StartSizeVar = 10.0f;
            EndSize = ParticleStartSizeEqualToEndSize;

            EmissionRate = TotalParticles / Life;

            StartColor = new CCColor4F(0.12f, 0.25f, 0.76f, 1.0f);
            StartColorVar = new CCColor4F();
            EndColor = new CCColor4F(0.0f, 0.0f, 0.0f, 1.0f);
            EndColorVar = new CCColor4F();

            GravityMoveMode gravityMode = new GravityMoveMode();
            gravityMode.Gravity = new CCPoint(0, 0);
            gravityMode.RadialAccel = -80;
            gravityMode.RadialAccelVar = 0;
            gravityMode.Speed = 60;
            gravityMode.SpeedVar = 10;
            gravityMode.TangentialAccel = 80;
            gravityMode.TangentialAccelVar = 0;
            GravityMode = gravityMode;

            // additive
            BlendAdditive = true;

            Texture = CCParticleExample.DefaultTexture;
        }
コード例 #14
0
        public CCParticleRain(CCPoint position, CCEmitterMode emitterMode=CCEmitterMode.Gravity) : base(1000, emitterMode)
        {
            Duration = ParticleDurationInfinity;
            Position = position;
            PositionVar = new CCPoint(position.X, 0);
            Life = 4.5f;
            LifeVar = 0;
            Angle = -90;
            AngleVar = 5;
            StartSize = 4.0f;
            StartSizeVar = 2.0f;
            EndSize = ParticleStartSizeEqualToEndSize;

            EmissionRate = 20;

            StartColor = new CCColor4F(0.7f, 0.8f, 1.0f, 1.0f);
            StartColorVar = new CCColor4F();
            EndColor = new CCColor4F(0.7f, 0.8f, 1.0f, 0.5f);
            EndColorVar = new CCColor4F();

            GravityMoveMode gravityMode = new GravityMoveMode();
            gravityMode.Gravity = new CCPoint(10, -10);
            gravityMode.RadialAccel = 0;
            gravityMode.RadialAccelVar = 1;
            gravityMode.TangentialAccel = 0;
            gravityMode.TangentialAccelVar = 1;
            gravityMode.Speed = 130;
            gravityMode.SpeedVar = 30;
            GravityMode = gravityMode;

            BlendAdditive = false;

            Texture = CCParticleExample.DefaultTexture;
        }
コード例 #15
0
        public CCParticleSnow(CCPoint position, CCEmitterMode emitterMode=CCEmitterMode.Gravity) : base(700, emitterMode)
        {
            Duration = ParticleDurationInfinity;
            Life = 45;
            LifeVar = 15;
            Position = position;
            PositionVar = new CCPoint(position.X, 0);
            Angle = -90;
            AngleVar = 5;
            StartSize = 10.0f;
            StartSizeVar = 5.0f;
            EndSize = ParticleStartSizeEqualToEndSize;

            EmissionRate = 10;

            StartColor = new CCColor4F(1.0f, 1.0f, 1.0f, 1.0f);
            StartColorVar = new CCColor4F();
            EndColor = new CCColor4F(1.0f, 1.0f, 1.0f, 0.0f);
            EndColorVar = new CCColor4F();

            GravityMoveMode gravityMode = new GravityMoveMode();
            gravityMode.Gravity = new CCPoint(0, -1);
            gravityMode.RadialAccel = 0;
            gravityMode.RadialAccelVar = 1;
            gravityMode.TangentialAccel = 0;
            gravityMode.TangentialAccelVar = 1;
            gravityMode.Speed = 5;
            gravityMode.SpeedVar = 1;
            GravityMode = gravityMode;

            BlendAdditive = false;

            Texture = CCParticleExample.DefaultTexture;
        }
コード例 #16
0
        public CCParticleSmoke(CCPoint position, CCEmitterMode emitterMode=CCEmitterMode.Gravity) : base(200, emitterMode)
        {
            Duration = ParticleDurationInfinity;
            Life = 4;
            LifeVar = 1;
            Position = position;
            PositionVar = new CCPoint(20, 0);
            Angle = 90;
            AngleVar = 5;
            StartSize = 60.0f;
            StartSizeVar = 10.0f;
            EndSize = ParticleStartSizeEqualToEndSize;

            EmissionRate = TotalParticles / Life;

            StartColor = new CCColor4F(0.8f, 0.8f, 0.8f, 1.0f);
            StartColorVar = new CCColor4F(0.02f, 0.02f, 0.02f, 0.0f);
            EndColor = new CCColor4F(0.0f, 0.0f, 0.0f, 1.0f);
            EndColorVar = new CCColor4F();

            GravityMoveMode gravityMode = new GravityMoveMode();
            gravityMode.Gravity = new CCPoint(0, 0);
            gravityMode.RadialAccel = 0;
            gravityMode.RadialAccelVar = 0;
            gravityMode.Speed = 25;
            gravityMode.SpeedVar = 10;
            GravityMode = gravityMode;

            BlendAdditive = false;

            Texture = CCParticleExample.DefaultTexture;
        }
コード例 #17
0
        public CCParticleExplosion(CCPoint position, CCEmitterMode emitterMode=CCEmitterMode.Gravity) : base(700, emitterMode)
        {
            Duration = 0.1f;
            Life = 2.0f;
            LifeVar = 2;
            Position = new CCPoint(position);
            PositionVar = CCPoint.Zero;
            Angle = 90;
            AngleVar = 360;
            StartSize = 15.0f;
            StartSizeVar = 10.0f;
            EndSize = ParticleStartSizeEqualToEndSize;

            EmissionRate = TotalParticles / Duration;

            StartColor = new CCColor4F(0.7f, 0.1f, 0.2f, 1.0f);
            StartColorVar = new CCColor4F(0.5f, 0.5f, 0.5f, 0.0f);
            EndColor = new CCColor4F(0.5f, 0.5f, 0.5f, 0.0f);
            EndColorVar = new CCColor4F(0.5f, 0.5f, 0.5f, 0.0f);

            GravityMoveMode gravityMode = new GravityMoveMode();
            gravityMode.Gravity = new CCPoint(0, 0);
            gravityMode.RadialAccel = 0;
            gravityMode.RadialAccelVar = 0;
            gravityMode.Speed = 70;
            gravityMode.SpeedVar = 40;
            gravityMode.TangentialAccel = 0;
            gravityMode.TangentialAccelVar = 0;
            GravityMode = gravityMode;

            BlendAdditive = false;

            Texture = CCParticleExample.DefaultTexture;
        }
コード例 #18
0
        public CCParticleSpiral(CCPoint position, CCEmitterMode emitterMode=CCEmitterMode.Gravity) : base(500, emitterMode)
        {
            Duration = ParticleDurationInfinity;
            Position = position;
            PositionVar = CCPoint.Zero;
            Life = 12;
            LifeVar = 0;
            Angle = 90;
            AngleVar = 0;
            StartSize = 20.0f;
            StartSizeVar = 0.0f;
            EndSize = ParticleStartSizeEqualToEndSize;

            EmissionRate = TotalParticles / Life;

            StartColor = new CCColor4F(0.5f, 0.5f, 0.5f, 1.0f);
            StartColorVar = new CCColor4F(0.5f, 0.5f, 0.5f, 0.0f);
            EndColor = new CCColor4F(0.5f, 0.5f, 0.5f, 1.0f);
            EndColorVar = new CCColor4F(0.5f, 0.5f, 0.5f, 0.0f);

            GravityMoveMode gravityMode = new GravityMoveMode();
            gravityMode.Gravity = new CCPoint(0, 0);
            gravityMode.RadialAccel = -380;
            gravityMode.RadialAccelVar = 0;
            gravityMode.Speed = 150;
            gravityMode.SpeedVar = 0;
            gravityMode.TangentialAccel = 45;
            gravityMode.TangentialAccelVar = 0;
            GravityMode = gravityMode;

            BlendAdditive = false;

            Texture = CCParticleExample.DefaultTexture;
        }
コード例 #19
0
        public CCParticleMeteor(CCPoint position, CCEmitterMode emitterMode=CCEmitterMode.Gravity) : base(150, emitterMode)
        {
            Duration = ParticleDurationInfinity;
            Life = 2;
            LifeVar = 1;
            Position = position;
            PositionVar = CCPoint.Zero;
            Angle = 90;
            AngleVar = 360;
            StartSize = 60.0f;
            StartSizeVar = 10.0f;
            EndSize = ParticleStartSizeEqualToEndSize;

            EmissionRate = TotalParticles / Life;

            StartColor = new CCColor4F(0.2f, 0.4f, 0.7f, 1.0f);
            StartColorVar = new CCColor4F(0.0f, 0.0f, 0.2f, 0.1f);
            EndColor = new CCColor4F(0.0f, 0.0f, 0.0f, 1.0f);
            EndColorVar = new CCColor4F();

            GravityMoveMode gravityMode = new GravityMoveMode();
            gravityMode.Gravity = new CCPoint(-200, 200);
            gravityMode.RadialAccel = 0;
            gravityMode.RadialAccelVar = 0;
            gravityMode.Speed = 15;
            gravityMode.SpeedVar = 5;
            gravityMode.TangentialAccel = 0;
            gravityMode.TangentialAccelVar = 0;
            GravityMode = gravityMode;

            BlendAdditive = true;

            Texture = CCParticleExample.DefaultTexture;
        }
コード例 #20
0
        public CCParticleFire(CCPoint position, CCEmitterMode emitterMode=CCEmitterMode.Gravity) : base(250, emitterMode)
        {
            if (config == null) 
            {
                config = new CCParticleSystemConfig ();
                config.ParticleSystemType = CCParticleSystemType.Internal;

                config.Duration = ParticleDurationInfinity;
                config.Life = 3;
                config.LifeVar = 0.25f;
                config.Position = position;
                config.PositionVar = new CCPoint(40, 20);
                config.Angle = 90;
                config.AngleVar = 10;
                config.StartSize = 54.0f;
                config.StartSizeVar = 10.0f;
                config.EndSize = ParticleStartSizeEqualToEndSize;

                config.EmitterMode = CCEmitterMode.Gravity;

                CCColor4F cstartColor = new CCColor4F();
                cstartColor.R = 0.76f;
                cstartColor.G = 0.25f;
                cstartColor.B = 0.12f;
                cstartColor.A = 1.0f;
                config.StartColor = cstartColor;

                CCColor4F cstartColorVar = new CCColor4F();
                cstartColorVar.R = 0.0f;
                cstartColorVar.G = 0.0f;
                cstartColorVar.B = 0.0f;
                cstartColorVar.A = 0.0f;
                config.StartColorVar = cstartColorVar;

                CCColor4F cendColor = new CCColor4F();
                cendColor.R = 0.0f;
                cendColor.G = 0.0f;
                cendColor.B = 0.0f;
                cendColor.A = 1.0f;
                config.EndColor = cendColor;

                CCColor4F cendColorVar = new CCColor4F();
                cendColorVar.R = 0.0f;
                cendColorVar.G = 0.0f;
                cendColorVar.B = 0.0f;
                cendColorVar.A = 0.0f;
                config.EndColorVar = cendColorVar;

                config.Gravity = new CCPoint(0, 0);
                config.GravityRadialAccel = 0;
                config.GravityRadialAccelVar = 0;
                config.GravitySpeed = 60;
                config.GravitySpeedVar = 20;

                config.Texture = CCParticleExample.DefaultTexture;

            }

            Duration = config.Duration;
            Life = config.Life;
            LifeVar = config.LifeVar;
            Position = config.Position;
            PositionVar = config.PositionVar;
            Angle = config.Angle;
            AngleVar = config.AngleVar;
            StartSize = config.StartSize;
            StartSizeVar = config.StartSizeVar;
            EndSize = config.EndSize;

            EmissionRate = TotalParticles / Life;

            CCColor4F startColor = new CCColor4F();
            startColor.R = config.StartColor.R;
            startColor.G = config.StartColor.G;
            startColor.B = config.StartColor.B;
            startColor.A = config.StartColor.A;
            StartColor = startColor;

            CCColor4F startColorVar = new CCColor4F();
            startColorVar.R = config.StartColorVar.R;
            startColorVar.G = config.StartColorVar.G;
            startColorVar.B = config.StartColorVar.B;
            startColorVar.A = config.StartColorVar.A;
            StartColorVar = startColorVar;

            CCColor4F endColor = new CCColor4F();
            endColor.R = config.EndColor.R;
            endColor.G = config.EndColor.G;
            endColor.B = config.EndColor.B;
            endColor.A = config.EndColor.A;
            EndColor = endColor;

            CCColor4F endColorVar = new CCColor4F();
            endColorVar.R = config.EndColorVar.R;
            endColorVar.G = config.EndColorVar.G;
            endColorVar.B = config.EndColorVar.B;
            endColorVar.A = config.EndColorVar.A;
            EndColorVar = endColorVar;

            GravityMoveMode gravityMode = new GravityMoveMode();
            gravityMode.Gravity = new CCPoint(config.Gravity);
            gravityMode.RadialAccel = config.GravityRadialAccel;
            gravityMode.RadialAccelVar = config.GravityRadialAccelVar;
            gravityMode.Speed = config.GravitySpeed;
            gravityMode.SpeedVar = config.GravitySpeedVar;
            GravityMode = gravityMode;

            BlendAdditive = true;

            Texture = config.Texture;
        }
コード例 #21
0
        public CCParticleFireworks(CCPoint position, CCEmitterMode emitterMode=CCEmitterMode.Gravity) : base(1500, emitterMode)
        {
            Duration = ParticleDurationInfinity;
            Life = 3.5f;
            LifeVar = 1;
            Position = position;
            Angle = 90;
            AngleVar = 20;
            StartSize = 8.0f;
            StartSizeVar = 2.0f;
            EndSize = ParticleStartSizeEqualToEndSize;

            EmissionRate = TotalParticles / Life;

            StartColor = new CCColor4F (0.5f, 0.5f, 0.5f, 1.0f);

            CCColor4F startColorVar = new CCColor4F();
            startColorVar.R = 0.5f;
            startColorVar.G = 0.5f;
            startColorVar.B = 0.5f;
            startColorVar.A = 0.1f;
            StartColorVar = startColorVar;

            CCColor4F endColor = new CCColor4F();
            endColor.R = 0.1f;
            endColor.G = 0.1f;
            endColor.B = 0.1f;
            endColor.A = 0.2f;
            EndColor = endColor;

            CCColor4F endColorVar = new CCColor4F();
            endColorVar.R = 0.1f;
            endColorVar.G = 0.1f;
            endColorVar.B = 0.1f;
            endColorVar.A = 0.2f;
            EndColorVar = endColorVar;

            GravityMoveMode gravityMode = new GravityMoveMode();
            gravityMode.Gravity = new CCPoint (0, -90);
            gravityMode.RadialAccel = 0;
            gravityMode.RadialAccelVar = 0;
            gravityMode.Speed = 180;
            gravityMode.SpeedVar = 50;
            GravityMode = gravityMode;

            BlendAdditive = false;

            Texture = CCParticleExample.DefaultTexture;
        }
コード例 #22
0
        public CCParticleFire(CCPoint position, CCEmitterMode emitterMode = CCEmitterMode.Gravity) : base(250, emitterMode)
        {
            if (config == null)
            {
                config = new CCParticleSystemConfig();
                config.ParticleSystemType = CCParticleSystemType.Internal;

                config.Duration     = ParticleDurationInfinity;
                config.Life         = 3;
                config.LifeVar      = 0.25f;
                config.Position     = position;
                config.PositionVar  = new CCPoint(40, 20);
                config.Angle        = 90;
                config.AngleVar     = 10;
                config.StartSize    = 54.0f;
                config.StartSizeVar = 10.0f;
                config.EndSize      = ParticleStartSizeEqualToEndSize;

                config.EmitterMode = CCEmitterMode.Gravity;

                CCColor4F cstartColor = new CCColor4F();
                cstartColor.R     = 0.76f;
                cstartColor.G     = 0.25f;
                cstartColor.B     = 0.12f;
                cstartColor.A     = 1.0f;
                config.StartColor = cstartColor;

                CCColor4F cstartColorVar = new CCColor4F();
                cstartColorVar.R     = 0.0f;
                cstartColorVar.G     = 0.0f;
                cstartColorVar.B     = 0.0f;
                cstartColorVar.A     = 0.0f;
                config.StartColorVar = cstartColorVar;

                CCColor4F cendColor = new CCColor4F();
                cendColor.R     = 0.0f;
                cendColor.G     = 0.0f;
                cendColor.B     = 0.0f;
                cendColor.A     = 1.0f;
                config.EndColor = cendColor;

                CCColor4F cendColorVar = new CCColor4F();
                cendColorVar.R     = 0.0f;
                cendColorVar.G     = 0.0f;
                cendColorVar.B     = 0.0f;
                cendColorVar.A     = 0.0f;
                config.EndColorVar = cendColorVar;

                config.Gravity               = new CCPoint(0, 0);
                config.GravityRadialAccel    = 0;
                config.GravityRadialAccelVar = 0;
                config.GravitySpeed          = 60;
                config.GravitySpeedVar       = 20;

                config.Texture = CCParticleExample.DefaultTexture;
            }

            Duration     = config.Duration;
            Life         = config.Life;
            LifeVar      = config.LifeVar;
            Position     = config.Position;
            PositionVar  = config.PositionVar;
            Angle        = config.Angle;
            AngleVar     = config.AngleVar;
            StartSize    = config.StartSize;
            StartSizeVar = config.StartSizeVar;
            EndSize      = config.EndSize;

            EmissionRate = TotalParticles / Life;

            CCColor4F startColor = new CCColor4F();

            startColor.R = config.StartColor.R;
            startColor.G = config.StartColor.G;
            startColor.B = config.StartColor.B;
            startColor.A = config.StartColor.A;
            StartColor   = startColor;

            CCColor4F startColorVar = new CCColor4F();

            startColorVar.R = config.StartColorVar.R;
            startColorVar.G = config.StartColorVar.G;
            startColorVar.B = config.StartColorVar.B;
            startColorVar.A = config.StartColorVar.A;
            StartColorVar   = startColorVar;

            CCColor4F endColor = new CCColor4F();

            endColor.R = config.EndColor.R;
            endColor.G = config.EndColor.G;
            endColor.B = config.EndColor.B;
            endColor.A = config.EndColor.A;
            EndColor   = endColor;

            CCColor4F endColorVar = new CCColor4F();

            endColorVar.R = config.EndColorVar.R;
            endColorVar.G = config.EndColorVar.G;
            endColorVar.B = config.EndColorVar.B;
            endColorVar.A = config.EndColorVar.A;
            EndColorVar   = endColorVar;

            GravityMoveMode gravityMode = new GravityMoveMode();

            gravityMode.Gravity        = new CCPoint(config.Gravity);
            gravityMode.RadialAccel    = config.GravityRadialAccel;
            gravityMode.RadialAccelVar = config.GravityRadialAccelVar;
            gravityMode.Speed          = config.GravitySpeed;
            gravityMode.SpeedVar       = config.GravitySpeedVar;
            GravityMode = gravityMode;

            BlendAdditive = true;

            Texture = config.Texture;
        }
コード例 #23
0
        public CCParticleSun (CCPoint position, int num) : base(num)
        {
            Duration = ParticleDurationInfinity;
            Life = 1;
            LifeVar = 0.5f;
            Position = position;
            PositionVar = CCPoint.Zero;
            Angle = 90;
            AngleVar = 360;
            StartSize = 30.0f;
            StartSizeVar = 10.0f;
            EndSize = ParticleStartSizeEqualToEndSize;

            EmissionRate = TotalParticles / Life;

            StartColor = new CCColor4F(0.76f, 0.25f, 0.12f, 1.0f);
            StartColorVar = new CCColor4F();
            EndColor = new CCColor4F(0.0f, 0.0f, 0.0f, 1.0f);
            EndColorVar = new CCColor4F();

            GravityMoveMode gravityMode = new GravityMoveMode();
            gravityMode.Gravity = new CCPoint(0, 0);
            gravityMode.RadialAccel = 0;
            gravityMode.RadialAccelVar = 0;
            gravityMode.Speed = 20;
            gravityMode.SpeedVar = 5;
            GravityMode = gravityMode;

            BlendAdditive = true;

            Texture = CCParticleExample.DefaultTexture;
        }