private void GarderHorsBornes(Soldat a, Vector3 v)
 {
     //faire le reste
     if (v.X > 0 && a.HitBoxGénérale.Min.X < HitBoxGénérale.Max.X)
     {
         a.ModifierPosition(new Vector3(a.VarPosition.X + HitBoxGénérale.Max.X - a.HitBoxGénérale.Min.X, a.VarPosition.Y, a.VarPosition.Z));
     }
     if (v.X < 0 && a.HitBoxGénérale.Max.X > HitBoxGénérale.Min.X)
     {
         a.ModifierPosition(new Vector3(a.VarPosition.X + HitBoxGénérale.Min.X - a.HitBoxGénérale.Max.X, a.VarPosition.Y, a.VarPosition.Z));
     }
     if (v.Z > 0 && a.HitBoxGénérale.Max.Z < HitBoxGénérale.Min.Z)
     {
         a.ModifierPosition(new Vector3(a.VarPosition.X, a.VarPosition.Y, a.VarPosition.Z + HitBoxGénérale.Min.Z - a.HitBoxGénérale.Min.Z));
     }
     if (v.Z < 0 && a.HitBoxGénérale.Min.Y > HitBoxGénérale.Max.Y)
     {
         a.ModifierPosition(new Vector3(a.VarPosition.X, a.VarPosition.Y, a.VarPosition.Z + HitBoxGénérale.Max.Z - a.HitBoxGénérale.Min.Z));
     }
     if (v.Y < 0 && a.HitBoxGénérale.Max.Y > HitBoxGénérale.Min.Y)
     {
         a.ModifierPosition(new Vector3(a.VarPosition.X, a.VarPosition.Y + HitBoxGénérale.Min.Y - a.HitBoxGénérale.Max.Y, a.VarPosition.Z));
     }
     if (v.Y > 0 && a.HitBoxGénérale.Min.Y < HitBoxGénérale.Max.Y)
     {
         a.ModifierPosition(new Vector3(a.VarPosition.X, a.VarPosition.Y + HitBoxGénérale.Max.Y - a.HitBoxGénérale.Min.Y, a.VarPosition.Z));
     }
 }
Esempio n. 2
0
        protected override void Initialize()
        {
            Compteur = 0;
            const float DELTA_X             = 3.3f;
            Vector3     postiontemp         = new Vector3(0, 0, 2.5f);
            Vector3     positionCaméra      = new Vector3(0, 5, -10);
            Vector3     positionTuileDragon = postiontemp + Vector3.Right * (DELTA_X * 2);

            GestionnaireDeTextures = new RessourcesManager <Texture2D>(this, "Textures");
            GestionnairesDeModele  = new RessourcesManager <Model>(this, "Modeles");
            GestionInput           = new InputManager(this);
            Components.Add(GestionInput);
            // CaméraJeu = new CaméraSubjective(this, positionCaméra, positionDragon, Vector3.Up, INTERVALLE_STANDARD);
            CaméraJeuAutomate = new CaméraAutomate(this, postiontemp, positionCaméra, Vector3.Up, INTERVALLE_STANDARD);
            Soldats           = new Soldat[3, 3];



            Services.AddService(typeof(RessourcesManager <SpriteFont>), new RessourcesManager <SpriteFont>(this, "Fonts"));
            Services.AddService(typeof(Random), new Random());

            Services.AddService(typeof(RessourcesManager <SoundEffect>), new RessourcesManager <SoundEffect>(this, "Sounds"));
            GestionnaireDeSons = new RessourcesManager <SoundEffect>(this, "Sounds");
            Services.AddService(typeof(RessourcesManager <Texture2D>), GestionnaireDeTextures);
            Services.AddService(typeof(RessourcesManager <Song>), new RessourcesManager <Song>(this, "Chansons"));

            Services.AddService(typeof(InputManager), GestionInput);
            Services.AddService(typeof(RessourcesManager <Model>), GestionnairesDeModele);

            Services.AddService(typeof(Caméra), CaméraJeuAutomate);
            Services.AddService(typeof(SpriteBatch), new SpriteBatch(GraphicsDevice));

            Components.Add(new ArrièrePlan(this, "fond ecran"));
            Components.Add(new AfficheurFPS(this, "Arial", Color.Red, INTERVALLE_CALCUL_FPS));

            Components.Add(new Menu(this));



            base.Initialize();
        }
 protected virtual void SuivreTerrain(Soldat a)
 {
 }
 protected override void SuivreTerrain(Soldat a)
 {
     a.ModifierPosition(a.VarPosition + DifferencePosition);
 }