// ==================== build the effects =============================== public ParticalEffect BuildDustEffect(ContentManager content) { ParticalEffect pe = new ParticalEffect(); RectangleEmitter falingLeaves = new RectangleEmitter(new Rectangle(100, 0, 1280, 720)) { Initial_LifeTime = new Riddlersoft.Graphics.Particals.FloatRange(20f, 30f), Initial_Colour = new ColourRange(Color.White, Color.LightGray), Initial_Rotaiton = new FloatRange(0, MathHelper.TwoPi), // Initial_Angulor_Velocity = new FloatRange(-.05f, .05f), //Initial_Velocity = new Vector2Range(new Vector2(-.3f, .6f), new Vector2(.3f, .2f)), Initial_Velocity = new Vector2Range(new Vector2(-.2f, .4f), new Vector2(-.4f, .5f)), Initial_Scale = new FloatRange(.2f, 1f), ReleaseAmount = 5, }; killme = new KillModifyer() { LiveArea = new Rectangle(200, 200, 880, 320), }; falingLeaves.SetTexture(Content.Load <Texture2D>("leaf")); falingLeaves.AddModifyer(new OsolatingModifyer()); falingLeaves.AddModifyer(new RotatingOsolatingModifyer()); falingLeaves.AddModifyer(new StateFadeModifyer(falingLeaves) { InitialFade = 1, MiddleLifeTime = .9f, MiddleStateFade = 1, EndFade = 0f, }); pe.AddEmitter(falingLeaves); return(pe); }
public ParticalEffect BuildGreenSmoke(ContentManager content) { ParticalEffect pe = new ParticalEffect(); RectangleEmitter re = new RectangleEmitter(new Rectangle(0, 0, 80, 80)) { Initial_Scale = new FloatRange(.2f, .4f), Initial_Velocity = new Vector2Range(new Vector2(-.5f, -.05f), new Vector2(.5f, -.1f)), ReleaseAmount = .05f, MaxParticles = 100, Initial_Colour = new ColourRange(Color.Green, Color.LawnGreen), Initial_LifeTime = new FloatRange(5, 10), Initial_Rotaiton = new FloatRange(-.1f, .1f), }; re.SetTexture(content.Load <Texture2D>("Particle001")); re.AddModifyer(new LinearScaleModifyer(re) { EndScale = 8, }); re.AddModifyer(new DampaningModifyer(.01f, re) { DampenAngulorVelocity = true, AngulorDampaningAmount = .01f, }); re.AddModifyer(new StateFadeModifyer(re) { InitialFade = 0, MiddleLifeTime = .3f, MiddleStateFade = .4f, EndFade = 0f, }); re.AddModifyer(new LinearGravityModifyer(re) { Gravity = new Vector2(0, .1f), }); pe.AddEmitter(re); return(pe); }