Beispiel #1
0
            public void Update(Particle _particle)
            {
                var nextPosition = _particle.Position() + _particle.Rocket.DeltaPosition();

                _particle.X = nextPosition.X;
                _particle.Y = nextPosition.Y;
                if (_particle.Rocket.Speed > 1f)
                {
                    _particle.Rocket.Angle += 1f * Game.Delta;
                }
                _particle.Rocket.Speed -= 100 * Game.Delta;
                _particle.Size         -= Basics.Utils.RandomFloat() * _particle.Age * 0.00005f;

                _particle.Color = ColorExtensions.Darkened(_particle.Color, (_particle.Rocket.SpeedMax - _particle.Rocket.Speed) * 0.5f * Game.Delta);
            }
Beispiel #2
0
            public void Update(Particle _particle)
            {
                var nextPosition = _particle.Position() + _particle.Rocket.DeltaPosition();

                _particle.X             = nextPosition.X;
                _particle.Y             = nextPosition.Y;
                _particle.Rocket.Speed -= 50 * Game.Delta;
                _particle.Size         -= Basics.Utils.RandomFloat() * _particle.Age * 0.0005f;

                var size  = _particle.Size / 6f;
                var size4 = size * size * size * size;

                if (Basics.Utils.RandomDouble() >= size4)
                {
                    _particle.Rocket.Angle += (float)(Math.PI * 2 * Basics.Utils.RandomSign() * Basics.Utils.RandomFloat() * Game.Delta);
                }

                _particle.Color = ColorExtensions.Darkened(_particle.Color, (_particle.Rocket.SpeedMax - _particle.Rocket.Speed) * 0.8f * Game.Delta);
            }