Ejemplo n.º 1
0
        public void AddEmitterGroup(EmitterGroup group)
        {
            _groups.Add(group.Name, group);

            foreach (Modifier mod in _modifiers)
            {
                group.ApplyModifier(mod);
            }
        }
Ejemplo n.º 2
0
        protected override void Initialize()
        {
            //Creating the EmitterGroup, it must be given a name.
            group = new EmitterGroup("test");

            //Create two simple spray emitters.
            emitter1 = new SprayEmitter(1000, -MathHelper.PiOver2, MathHelper.Pi);
            emitter1.ParticleSpeed = 100f;
            emitter1.ParticleColor = Color.SteelBlue;
            emitter1.Position.Y = -50f;

            emitter2 = new SprayEmitter(1000, MathHelper.PiOver2, MathHelper.Pi);
            emitter2.ParticleSpeed = 100f;
            emitter2.ParticleColor = Color.Tomato;
            emitter2.Position.Y = 50f;

            //We add the Emitters to the EmitterGroup (instead of adding them to the
            //ParticleSystem).
            group.AddEmitter(emitter1);
            group.AddEmitter(emitter2);

            //Now we can apply Modifiers to the EmitterGroup. Notice that there is a
            //seperate Modifier for GroupMouseController. As the position of Emitters is
            //relative to the position of the EmitterGroup, applying a regalar
            //EmitterMouseController would result in undesired results... This modifier
            //adjusts the position of the EmitterGroup, and not the Emitters.
            group.ApplyModifier(new RandomScaleModifier(.1f, 1f));
            group.ApplyModifier(new GroupMouseController(true));

            //Finally we add the EmitterGroup to the ParticleSystem.
            system.AddEmitterGroup(group);

            //Of course you can choose to ignore EmitterGroups, and add Emitters to the
            //ParticleSystem directly instead. However you should take care to never
            //add an Emitter to more than one container.

            base.Initialize();
        }