Esempio n. 1
0
        /// <summary>
        /// Updates the specified new thrust.
        /// </summary>
        /// <param name="newThrust">The new thrust.</param>
        public void Update(float newThrust)
        {
            if (shotCooldown > 0)
            {
                shotCooldown--;
            }

            currentBonus.Update();

            //Rappel, le thrust arrière doit être plus lent
            if (newThrust < 0)
            {
                newThrust /= 2;
            }

            //Angle 0 est un vecteur qui pointe vers le haut, et on augmente l'angle dans le sens des aiguilles d'une montre

            velocity.X += (float)(Math.Sin((double)rotationAngle) * newThrust) / SLOWFACTOR;
            velocity.Y -= (float)(Math.Cos((double)rotationAngle) * newThrust) / SLOWFACTOR;

            //Dans bien des vieux jeux la vitesse maximum semble être par axe, mais comme on a de la puissance de calcul, on va la faire totale.
            MaxThrust();

            //Il faut aussi déplacer les poly de collision
            Move();
            bulletsFollow();
        }