Using a tmx map in monogame
Install TiledSharp
The easiest method is to create your MonoGame project then:
- Click on project & select Nuget Package Manager
- Search online for TiledSharp & Install
- In the Game1.cs of your project add
using TiledSharp;
Declarations
Add the following declaration within the main class in Game1.cs:
TmxMap map;
Texture2D tileset;
int tileWidth;
int tileHeight;
int tilesetTilesWide;
int tilesetTilesHigh;
Load Content
Download the files here. You will need to copy these into the content folder of your project, you will also need to add the png file to the content pipeline and build it. Without the xnb file an error will be thrown.
In the LoadContent method add the following to load your map & tiles, it also sets the size of the tiles:
map = new TmxMap("Content/exampleMap.tmx");
tileset = Content.Load<Texture2D>(map.Tilesets[0].Name.ToString());
tileWidth = map.Tilesets[0].TileWidth;
tileHeight = map.Tilesets[0].TileHeight;
tilesetTilesWide = tileset.Width / tileWidth;
tilesetTilesHigh = tileset.Height / tileHeight;