protected override void LoadContent() { // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDevice); var fs = File.Open(@"C:\Users\ANTHONY\Downloads\tilesets2\tileset1.png", FileMode.Open); Texture2D tilesetTexture = Texture2D.FromStream(GraphicsDevice, fs); tileSet = new TileSet(tilesetTexture, Engine.TileWidth, Engine.TileHeight); fs.Close(); fs.Dispose(); map = new TileMap(40, 40); MapLayer mapLayer = new MapLayer(map); MapLayer bushes = new MapLayer(map); for (int x = 0; x < 40; x++) for (int y = 0; y < 40; y++) mapLayer.SetTile(x, y, new Tile(0, 0)); mapLayer.Visible = false; map.AddTileSet(tileSet); map.AddLayer(mapLayer); map.AddLayer(bushes); map.CurrentLayerIndex = 1; Camera.Initialize( Vector2.Zero, new Rectangle() { Width = graphics.PreferredBackBufferWidth, Height = graphics.PreferredBackBufferHeight }, new Vector2(map.WidthInTiles * Engine.TileWidth, map.HeightInTiles * Engine.TileHeight) ); Camera.MaxClamp = new Vector2( map.WidthInTiles * Engine.TileWidth - Camera.View.Width, map.HeightInTiles * Engine.TileHeight - Camera.View.Height ); }
private void btnAdd_Click(object sender, EventArgs e) { OpenFileDialog openFileDlg = new OpenFileDialog(); openFileDlg.FileName = ""; openFileDlg.Filter = "PNG Images (.png)|*.png"; openFileDlg.Multiselect = false; DialogResult result = openFileDlg.ShowDialog(); if (result == System.Windows.Forms.DialogResult.OK) { var filename = openFileDlg.FileName.Split('\\'); var fs = File.Open(openFileDlg.FileName, FileMode.Open); var tileSet = new TileSet(Texture2D.FromStream(gameRef.GraphicsDevice, fs), Engine.TileWidth, Engine.TileHeight, filename[filename.Length - 2] + "\\" + filename[filename.Length - 1]); gameRef.level.AddTileSet(tileSet); lstTileSheets.Items.Add( gameRef.level.TileSets[gameRef.level.TileSets.Count - 1].Path ); } }
/// <summary> /// Adds a tile set to the map /// </summary> /// <param name="tileSet"></param> public void AddTileSet(TileSet tileSet) { tileSets.Add(tileSet); }