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