Пример #1
0
        private void LoadIsoTileMap()
        {
            engine = new Engine(64, 32);

            Texture2D tilesetTexture = Game.Content.Load <Texture2D>(@"Tilesets\grassland_tiles");
            Tileset   tileset1       = new Tileset(tilesetTexture, 16, 2, 64, 32);

            List <Tileset> tilesets = new List <Tileset>();

            tilesets.Add(tileset1);

            MapLayer mapLayer = new MapLayer((int)newMap.MapSize.X, (int)newMap.MapSize.Y);

            //Random random = new Random();

            //for (int y = 0; y < mapLayer.Height; y++)
            //{
            //    for (int x = 0; x < mapLayer.Width; x++)
            //    {
            //        //0-31
            //        Tile tile = new Tile(15, (int)Tilesets.Base);

            //        mapLayer.SetTile(x, y, tile);
            //    }
            //}

            fillMap(mapLayer);
            List <MapLayer> mapLayers = new List <MapLayer>();

            mapLayers.Add(mapLayer);

            map = new TileMapIso(tilesets, mapLayers);
        }
Пример #2
0
        private void LoadIsoTileMap()
        {
            List <Tileset>  tileSets  = new List <Tileset>();
            List <MapLayer> mapLayers = new List <MapLayer>();

            engine = new Engine(64, 32);

            foreach (TilesetData data in newMap.Tilesets)
            {
                Texture2D tilesetTexture = null;
                int       pos            = data.TilesetImageName.IndexOf("TileSets\\");
                //if (pos == -1)
                //{
                //    //tilesetTexture = Game.Content.Load<Texture2D>(@data.TilesetImageName);

                //}
                //else
                //{
                int lenght = data.TilesetImageName.Length - 4 - pos;

                tilesetTexture = Game.Content.Load <Texture2D>(@data.TilesetImageName.Substring(pos, lenght).Trim());
                //}



                //using (Stream stream = new FileStream(data.TilesetImageName, FileMode.Open, FileAccess.Read))
                //{
                //    texture = Texture2D.FromStream(GraphicsDevice, stream);
                tileSets.Add(
                    new Tileset(
                        tilesetTexture,
                        data.TilesWide,
                        data.TilesHigh,
                        data.TileWidthInPixels,
                        data.TileHeightInPixels));
                //}
            }

            foreach (MapLayerData data in newMap.Layers)
            {
                mapLayers.Add(MapLayer.FromMapLayerData(data));
            }

            map = new TileMapIso(tileSets[0], (MapLayer)mapLayers[0]);

            for (int i = 1; i < tileSets.Count; i++)
            {
                map.AddTileset(tileSets[i]);
            }

            for (int i = 1; i < mapLayers.Count; i++)
            {
                map.AddLayer(mapLayers[i]);
            }
        }
Пример #3
0
        private void Load2DTileMap()
        {
            engine = new Engine(32, 32);

            Texture2D tilesetTexture = Game.Content.Load <Texture2D>(@"Tilesets\tileset1");
            Tileset   tileset1       = new Tileset(tilesetTexture, 8, 8, 32, 32);

            tilesetTexture = Game.Content.Load <Texture2D>(@"Tilesets\tileset2");
            Tileset tileset2 = new Tileset(tilesetTexture, 8, 8, 32, 32);

            List <Tileset> tilesets = new List <Tileset>();

            tilesets.Add(tileset1);
            tilesets.Add(tileset2);

            MapLayer layer = new MapLayer(40, 40, 0);

            for (int y = 0; y < layer.Height; y++)
            {
                for (int x = 0; x < layer.Width; x++)
                {
                    Tile tile = new Tile(0, (int)Tilesets.Base);

                    layer.SetTile(x, y, tile);
                }
            }

            MapLayer splatter = new MapLayer(40, 40, 0);

            Random random = new Random();

            for (int i = 0; i < 80; i++)
            {
                int x     = random.Next(0, splatter.Width);
                int y     = random.Next(0, splatter.Height);
                int index = random.Next(2, 14);

                Tile tile = new Tile(index, 0);
                splatter.SetTile(x, y, tile);
            }

            splatter.SetTile(1, 0, 0, (int)Tilesets.Buildings);
            splatter.SetTile(2, 0, 2, (int)Tilesets.Buildings);
            splatter.SetTile(3, 0, 0, (int)Tilesets.Buildings);

            List <MapLayer> mapLayers = new List <MapLayer>();

            mapLayers.Add(layer);
            mapLayers.Add(splatter);

            map = new TileMap2D(tilesets, mapLayers);
        }