protected override void InitialiserSommets() { int NoSommets = 0; for (int i = 0; i < BordureIntérieure.Count; ++i) { Sommets[NoSommets++] = new VertexPositionColor(Terrain.GetPointSpatial((int)Math.Round(BordureExtérieure[i].X, 0), Terrain.NbRangées - (int)Math.Round(BordureExtérieure[i].Y, 0)), Color.Black); Sommets[NoSommets++] = new VertexPositionColor(Terrain.GetPointSpatial((int)Math.Round(BordureIntérieure[i].X, 0), Terrain.NbRangées - (int)Math.Round(BordureIntérieure[i].Y, 0)), Color.Black); } }
void CalculerPosition() { Vector3 vecteurRayon = new Vector3(0, Rayon, 0); Vector2 vecteurPosition = new Vector2(Position.X + Terrain.NbColonnes / 2, Position.Z + Terrain.NbRangées / 2); Position = new Vector3(Position.X, (Terrain.GetPointSpatial((int)Math.Round(vecteurPosition.X, 0), Terrain.NbRangées - (int)Math.Round(vecteurPosition.Y, 0)) + vecteurRayon).Y, Position.Z); SphèreDeCollision = new BoundingSphere(Position, SphèreDeCollision.Radius); }
protected void BougerTrainer(float déplacementHorizontal, float déplacementProfondeur) { Direction = ((CaméraJeu) as CaméraSubjective).Direction; Latéral = Vector3.Cross(Direction, OrientationVertical); Position += Direction * déplacementProfondeur; Position += Latéral * déplacementHorizontal; Limites(); Vector2 vecteurPosition = new Vector2(Position.X + Terrain.NbColonnes / 2, Position.Z + Terrain.NbRangées / 2); float posY = (Terrain.GetPointSpatial((int)Math.Round(vecteurPosition.X, 0), Terrain.NbRangées - (int)Math.Round(vecteurPosition.Y, 0)) + Vector3.Zero).Y; Position = new Vector3(Position.X, posY, Position.Z); SphèreDeCollision = new BoundingSphere(Position, SphèreDeCollision.Radius); }
public override void Initialize() { base.Initialize(); AngleRotation = 0; DonnéesPiste = Game.Services.GetService(typeof(DataPiste)) as DataPiste; Terrain = Game.Services.GetService(typeof(TerrainAvecBase)) as TerrainAvecBase; List <Vector2> pointsPatrouille = DonnéesPiste.GetPointsDePatrouille(); ListeCible = new List <Vector3>(pointsPatrouille.Count - 1); foreach (Vector2 vecteur in pointsPatrouille) { ListeCible.Add(Terrain.GetPointSpatial((int)Math.Round(vecteur.X, 0), Terrain.NbRangées - (int)Math.Round(vecteur.Y, 0))); } AnciennePositionCaméra = CaméraJeu.Position; }