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); }
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); }
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); }
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); }
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); }