Ejemplo n.º 1
0
        public void createSpiralParticle()
        {
            int initAge = 3000; //3 seconds

            Vector2 initPos = m_vOrigin;


            Vector2 initVel = new Vector2(((float)(100.0f * Math.Cos(m_iEffectDuration))),
                                          ((float)(100.0f * Math.Sin(m_iEffectDuration))));

            Vector2 initAcc  = new Vector2(0, 75);
            float   initDamp = 1.0f;

            float initRot     = 0.0f;
            float initRotVel  = 2.0f;
            float initRotDamp = 0.99f;

            float initScale    = 0.2f;
            float initScaleVel = 0.2f;
            float initScaleAcc = -0.1f;
            float maxScale     = 1.0f;

            Color initColor  = Color.DarkRed;
            Color finalColor = Color.DarkRed;

            finalColor *= 0;
            //finalColor.A = 0;
            int fadeAge = initAge;

            cParticle tempParticle = new cParticle();

            tempParticle.Create(particleTexture, initAge, initPos, initVel, initAcc, initDamp, initRot, initRotVel, initRotDamp, initScale, initScaleVel, initScaleAcc, maxScale, initColor, finalColor, fadeAge);
            m_allParticles.Add(tempParticle);
        }
Ejemplo n.º 2
0
        public void createSmokeParticle()
        {
            int initAge = 5000 + (int)myRandom.Next(5000);
            int fadeAge = initAge - (int)myRandom.Next(5000);

            Vector2 initPos = m_vOrigin;
            Vector2 offset;

            offset.X = ((float)(myRandom.Next(m_iRadius) * Math.Cos(myRandom.Next(360))));
            offset.Y = ((float)(myRandom.Next(m_iRadius) * Math.Sin(myRandom.Next(360))));
            initPos += offset;

            Vector2 offset2 = Vector2.Zero;

            offset2.X += (float)(400 * Math.Cos(m_iEffectDuration / 500.0f));
            initPos   += offset2;

            Vector2 initVel = Vector2.Zero;

            initVel.X = 0;//
            initVel.Y = -30 - myRandom.Next(30);

            Vector2 initAcc = new Vector2(10 + myRandom.Next(10), 0);

            float initDamp = 1.0f;

            float initRot     = 0.0f;
            float initRotVel  = 0.0f;
            float initRotDamp = 1.0f;

            float initScale    = 0.6f;
            float initScaleVel = ((float)myRandom.Next(10)) / 50.0f;
            float initScaleAcc = 0.0f;
            float maxScale     = 3.0f;

            Color initColor = Color.Black;

            initColor.A = 128;
            Color finalColor = new Color(32, 32, 32);

            finalColor.A = 0;


            cParticle tempParticle = new cParticle();

            tempParticle.Create(particleTexture, initAge, initPos, initVel, initAcc, initDamp, initRot, initRotVel, initRotDamp, initScale, initScaleVel, initScaleAcc, maxScale, initColor, finalColor, fadeAge);
            m_allParticles.Add(tempParticle);
        }
Ejemplo n.º 3
0
        public void createSnowParticle()
        {
            float initScale    = 0.1f + ((float)myRandom.Next(10)) / 20.0f;
            float initScaleVel = 0.0f;
            float initScaleAcc = 0.0f;
            float maxScale     = 1.0f;

            int initAge = (int)(10000 / initScale);
            int fadeAge = initAge;

            Vector2 initPos = m_vOrigin;
            Vector2 offset;

            offset.X = ((float)(myRandom.Next(m_iRadius) * Math.Cos(myRandom.Next(360))));
            offset.Y = ((float)(myRandom.Next(m_iRadius) * Math.Sin(myRandom.Next(360))));
            initPos += offset;

            Vector2 offset2 = Vector2.Zero;

            offset2.X += (float)(600 * Math.Cos(m_iEffectDuration / 500.0));
            initPos   += offset2;


            Vector2 initVel = Vector2.Zero;

            initVel.X = myRandom.Next(10) - 5;
            initVel.Y = 100 * initScale;

            Vector2 initAcc = new Vector2(0, 0);

            float initDamp = 1.0f;

            float initRot     = 0.0f;
            float initRotVel  = initVel.X / 5.0f;;
            float initRotDamp = 1.0f;

            Color initColor  = Color.White;
            Color finalColor = Color.White;

            finalColor.A = 0;

            cParticle tempParticle = new cParticle();

            tempParticle.Create(particleTexture, initAge, initPos, initVel, initAcc, initDamp, initRot, initRotVel, initRotDamp, initScale, initScaleVel, initScaleAcc, maxScale, initColor, finalColor, fadeAge);
            m_allParticles.Add(tempParticle);
        }
Ejemplo n.º 4
0
        public void createFireParticle()
        {
            int initAge = 500 + (int)myRandom.Next(500); //3 seconds
            int fadeAge = initAge - (int)myRandom.Next(100);

            Vector2 initPos = m_vOrigin;
            Vector2 offset;

            offset.X = ((float)(myRandom.Next(m_iRadius) * Math.Cos(myRandom.Next(360))));
            offset.Y = ((float)(myRandom.Next(m_iRadius) * Math.Sin(myRandom.Next(360))));
            initPos += offset;

            Vector2 offset2 = Vector2.Zero;

            offset2.X += (float)(200 * Math.Cos(m_iEffectDuration / 500.0f));
            initPos   += offset2;

            Vector2 initVel = Vector2.Zero;

            initVel.X = -(offset.X);
            initVel.Y = -500;

            Vector2 initAcc = new Vector2(0, -myRandom.Next(300));

            float initDamp = 0.96f;

            float initRot     = 0.0f;
            float initRotVel  = 2.0f;
            float initRotDamp = 0.99f;

            float initScale    = 0.5f;
            float initScaleVel = -0.1f;
            float initScaleAcc = 0.0f;
            float maxScale     = 1.0f;

            Color initColor  = Color.DarkBlue;
            Color finalColor = Color.DarkOrange;

            finalColor.A = 0;


            cParticle tempParticle = new cParticle();

            tempParticle.Create(particleTexture, initAge, initPos, initVel, initAcc, initDamp, initRot, initRotVel, initRotDamp, initScale, initScaleVel, initScaleAcc, maxScale, initColor, finalColor, fadeAge);
            m_allParticles.Add(tempParticle);
        }
Ejemplo n.º 5
0
        public void createExplosionParticle()
        {
            int initAge = 3000 + (int)myRandom.Next(5000);
            int fadeAge = initAge / 2;

            Vector2 initPos = m_vOrigin;
            Vector2 offset;

            offset.X = ((float)(myRandom.Next(m_iRadius) * Math.Cos(myRandom.Next(360))));
            offset.Y = ((float)(myRandom.Next(m_iRadius) * Math.Sin(myRandom.Next(360))));
            initPos += offset;

            Vector2 initVel = Vector2.Zero;

            initVel.X = myRandom.Next(500) + (offset.X * 30);
            initVel.Y = -60 * Math.Abs(offset.Y);

            Vector2 initAcc = new Vector2(0, 400);

            float initDamp = 1.0f;

            float initRot     = 0.0f;
            float initRotVel  = initVel.X / 50.0f;
            float initRotDamp = 0.97f;

            float initScale    = 0.1f + ((float)myRandom.Next(10)) / 50.0f;
            float initScaleVel = ((float)myRandom.Next(10) - 5) / 50.0f;
            float initScaleAcc = 0.0f;
            float maxScale     = 1.0f;

            byte  randomGray = (byte)(myRandom.Next(128) + 128);
            Color initColor  = new Color(randomGray, 0, 0);

            Color finalColor = new Color(32, 32, 32);

            finalColor = Color.Black;

            cParticle tempParticle = new cParticle();

            tempParticle.Create(particleTexture, initAge, initPos, initVel, initAcc, initDamp, initRot, initRotVel, initRotDamp, initScale, initScaleVel, initScaleAcc, maxScale, initColor, finalColor, fadeAge);
            m_allParticles.Add(tempParticle);
        }