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)); } }
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); }