/// <summary> /// On charge nos variables /// </summary> public void LoadContent() { this.menuManager.LoadContent(); this.menuManager.MenuCourant = this.menuManager.TrouverMenu("MainMenu"); // Créer un nouveau SpriteBatch, utilisée pour dessiner les textures. this.spriteBatch = new SpriteBatch(this.graphics.GraphicsDevice); // Charger les sprites. JoueurSprite.LoadContent(this.GetContent(), this.graphics); ArrierePlanEspace.LoadContent(this.GetContent(), this.graphics); Obus.LoadContent(this.GetContent(), this.graphics); EnnemiShip.LoadContent(this.GetContent(), this.graphics); EnnemiSpinner.LoadContent(this.GetContent(), this.graphics); PowerUp_Fire_Shot.LoadContent(this.GetContent(), this.graphics); PowerUp_Energy_Ball.LoadContent(this.GetContent(), this.graphics); PowerUp_One_Projectile.LoadContent(this.GetContent(), this.graphics); PowerUp_Three_Projectile.LoadContent(this.GetContent(), this.graphics); PowerUp_Two_Projectile.LoadContent(this.GetContent(), this.graphics); this.policePetit = this.GetContent().Load <SpriteFont>(@"Pipeline/Polices/PoliceItem"); this.policeGrand = this.GetContent().Load <SpriteFont>(@"Pipeline/Polices/PoliceTitre"); // Créer les sprites du jeu. Premièrement le sprite du joueur centrer au bas de l'écran. On limite ensuite // ses déplacements à l'écran. this.vaisseauJoueur = new JoueurSprite(this.graphics.GraphicsDevice.Viewport.Width / 8f, this.graphics.GraphicsDevice.Viewport.Height / 2f); this.vaisseauJoueur.BoundsRect = new Rectangle(0, 0, this.graphics.GraphicsDevice.Viewport.Width, this.graphics.GraphicsDevice.Viewport.Height); this.vaisseauJoueur.ShootObus += Shoot; this.vaisseauJoueur.NbVies = 3; this.bruitageRamasser = this.GetContent().Load <SoundEffect>(@"Pipeline\SoundFX\pickup"); // Créer ensuite les sprites représentant les arrière-plans. this.arrierePlanEspace = new ArrierePlanEspace(this.graphics); // Charger le bruitage de fond du jeu. this.bruitageFond = this.GetContent().Load <Song>(@"Pipeline\Songs\scifi072"); this.mainmenuImage = this.GetContent().Load <Texture2D>(@"ArrieresPlans\mainmenu.jpg"); // Charger les textures associées aux effets visuels gérées par Game. this.particulesExplosions = this.GetContent().Load <Texture2D>(@"Explosion\explosionAsteroides"); bruitageExplosion = this.GetContent().Load <SoundEffect>(@"Pipeline\SoundFX\explosion001"); // Paramétrer la musique de fond et la démarrer. MediaPlayer.Volume = 0.05f; // pour mieux entendre les autres effets sonores MediaPlayer.IsRepeating = true; MediaPlayer.Play(bruitageFond); MediaPlayer.Pause(); }
/// <summary> /// Mise à jour des ennemis /// <param name="gameTime">Provides a snapshot of timing values.</param> protected void updateEnnemi(GameTime gameTime) { // Identifier les ennemis ayant quitté l'écran. List <EnnemiSprite> ennemisFini = new List <EnnemiSprite>(); foreach (EnnemiSprite ennemi in this.listeEnnemis) { if (this.camera.EstADroite(ennemi.PositionRect)) { ennemisFini.Add(ennemi); } } // Se débarrasser des ennemis ayant quitté l'écran. foreach (EnnemiSprite ennemi in ennemisFini) { this.listeEnnemis.Remove(ennemi); } // Mettre à jour les ennemis existants. foreach (EnnemiSprite ennemi in this.listeEnnemis) { ennemi.Update(gameTime, this.graphics); } // Déterminer si on doit créer un nouvel ennemi. if (this.randomEnnemis.NextDouble() < this.probEnnemis) { Random random = new Random(); EnnemiSprite ennemi = null; if (random.NextDouble() < probEnnemiType) { ennemi = new EnnemiSpinner(0, 0); } else { ennemi = new EnnemiShip(0, 0); } if (ennemi == null) { return; } ennemi.ShootObus += Shoot; ennemi.GetAngleToPlayer += AngleToPlayer; // Positionner aléatoirement le sprite au haut de l'écran. do { ennemi.Position = new Vector2(this.graphics.GraphicsDevice.Viewport.Width + ennemi.Width / 2, random.Next(ennemi.Height, this.graphics.GraphicsDevice.Viewport.Height - ennemi.Height)); } while (EnnemiSpawnError(ennemi)); // Aligner la vitesse de déplacement de l'ennemi avec celui de l'arrière-plan. ennemi.VitesseDeplacement = this.arrierePlanEspace.VitesseArrierePlan; // Ajouter le sprite à la liste d'ennemis. this.listeEnnemis.Add(ennemi); } }