Parsing and drawing a tile map
Now that we are relatively familiar with creating tile maps in the Tiled application we will move on to parsing them and drawing them in our game. We are going to create quite a few new classes starting with a class called Level
that will hold our tilesets and also draw and update our separate layers. Let's go ahead and create Level.h
in our project and add the following code:
class Level
{ public: Level(); ~Level() {} void update(); void render(); };
We will also define a struct
at the top of this file called Tileset
:
struct Tileset { int firstGridID; int tileWidth; int tileHeight; int spacing; int margin; int width; int height; int numColumns; std::string name; };
This struct
holds any information we need to know about our tilesets. Our Level
class will now also hold a vector of Tileset
objects:
private: std::vector<Tileset> m_tilesets;
Next we will create a public getter function that returns a pointer to this Tileset
vector...