示例#1
0
        public TerrainManager(RPG jeu, ScèneDeJeu scèneJeu, int nbZones, Vector2 étendue, string[] nomstextures, FogData[] fogs, Texture2D heightMap, List<string> listNomMusic)
            : base(jeu)
        {
            Jeu = jeu;
            ScèneJeu = scèneJeu;
            NbZones = nbZones;
            Étendue = étendue;
            Fogs = fogs;
            ListNomMusic = listNomMusic;
            NomsTextures = nomstextures;
            Color[] couleursHeightMap = new Color[heightMap.Width * heightMap.Height];
            heightMap.GetData(couleursHeightMap);
            HeightMap = new float[heightMap.Width, heightMap.Height];
            HauteurMax = 0;
            HauteurMin = 256 * ÉCHELLE_HAUTEUR;

            for (int i = 0; i < heightMap.Width; ++i)
            {
                for (int j = 0; j < heightMap.Height; ++j)
                {
                    HeightMap[i, heightMap.Height - 1 - j] = couleursHeightMap[i + j * heightMap.Width].R * ÉCHELLE_HAUTEUR;
                    HauteurMax = Math.Max(HeightMap[i, heightMap.Height - 1 - j], HauteurMax);
                    HauteurMin = Math.Min(HeightMap[i, heightMap.Height - 1 - j], HauteurMin);
                }
            }
            ListeTerrains = new Terrain[NbZones];
            for (int i = 0; i < NbZones; ++i)
            {
                ListeTerrains[i] = new Terrain(Jeu, ScèneJeu, new Vector3(0, 0, (-1) * i * Étendue.Y), Étendue, new Vector2(heightMap.Width - 1, (heightMap.Height - 1) / NbZones), NomsTextures[i], Fogs[i], HeightMap, i * ((heightMap.Height) / NbZones), ListNomMusic[i]);
                ListeTerrains[i].Initialize();
            }
        }
示例#2
0
 public GestionnaireEnnemis(Game jeu, Joueur cible, Terrain terrainJeu, int nbEnnemis, float échelleAI, float intervalleMAJ)
     :base(jeu)
 {
     ListeEnnemis = new List<AI>();
     Cible = cible;
     TerrainJeu = terrainJeu;
     NbEnnemis = nbEnnemis;
     ÉchelleAI = échelleAI;
     IntervalleMAJ = intervalleMAJ;
 }
示例#3
0
文件: Atelier.cs 项目: HazWard/Tank3D
 void InitializeComponents()
 {
     GestionInput = new InputManager(Game);
     
     CaméraJoueur = new CaméraSubjective(Game, new Vector3(positionObjet.X, positionObjet.Y + HAUTEUR_CAM_DÉFAULT, positionObjet.Z + DISTANCE_POURSUITE),
                                        new Vector3(positionObjet.X, positionObjet.Y + 4, positionObjet.Z),
                                        Vector3.Up, INTERVALLE_MAJ_STANDARD);
     Game.Components.Add(CaméraJoueur);
     TerrainJeu = new Terrain(Game, 1f, Vector3.Zero, Vector3.Zero, new Vector3(256, 25, 256), "PetiteCarte", "DétailsDésert", 3, INTERVALLE_MAJ_STANDARD);
     Utilisateur = new Joueur(Game, NomModèleJoueur, ÉCHELLE_OBJET, rotationObjet, positionObjet, INTERVALLE_MAJ_STANDARD);
     if (Game.Services.GetService(typeof(Joueur)) == null)
     {
         Game.Services.AddService(typeof(Joueur), Utilisateur);
     }
     GestionEnnemis = new GestionnaireEnnemis(Game, Utilisateur, TerrainJeu, NbEnnemis, ÉCHELLE_OBJET, INTERVALLE_MAJ_STANDARD);
     MenuPause = new MenuPause(Game, ListeGameComponentsMenu, ListeGameComponents, GestionEnnemis);
     PremierPlan = new PlanTexturé(Game, 1f, Vector3.Zero, new Vector3(0, 6, -126), new Vector2(256, 60), new Vector2(10, 10), "desertDunes", INTERVALLE_MAJ_STANDARD);
     DeuxièmePlan = new PlanTexturé(Game, 1f, new Vector3(0, MathHelper.PiOver2, 0), new Vector3(-126, 6, 0), new Vector2(256, 60), new Vector2(10, 10), "desertDunesRéflexion", INTERVALLE_MAJ_STANDARD);
     TroisièmePlan = new PlanTexturé(Game, 1f, new Vector3(0, -(MathHelper.PiOver2), 0), new Vector3(126, 6, 0), new Vector2(256, 60), new Vector2(10, 10), "desertDunesRéflexion", INTERVALLE_MAJ_STANDARD);
     QuatrièmePlan = new PlanTexturé(Game, 1f, new Vector3(0, MathHelper.Pi, 0), new Vector3(0, 6, 126), new Vector2(256, 60), new Vector2(10, 10), "desertDunes", INTERVALLE_MAJ_STANDARD);
     Ciel = new PlanTexturé(Game, 1f, new Vector3(MathHelper.PiOver2, 0, 0), new Vector3(0, 35, 0), new Vector2(256, 256), new Vector2(10, 10), "ciel", INTERVALLE_MAJ_STANDARD);
 }