Getting an Image on the Screen. Last Updated 3/18/ Now that you’ve. Extension Libraries and Loading Other Image Formats. Make levels with tiling engines in SDL 2.
|Published (Last):||1 February 2007|
|PDF File Size:||14.32 Mb|
|ePub File Size:||5.39 Mb|
|Price:||Free* [*Free Regsitration Required]|
Say if we want to make a level like this: Here we’re defining some constants. We’ll be using scrolling so we have constants for both the screen and the level.
We’ll also have constants to define the tiles and the tile types.
Here is our tile class with a constructor that defines position and pazy, a renderer that uses a camera, and some accessors to get the tile’s type and collision box. In terms of data members we have a collision box and type indicator.
Normally it’s a good idea to have position and collider separate when doing collision detectionbut for the sake of simplicity we’re using the collider to hold position. Here is the dot class yet again, now with the ability to check for collision against the tiles when moving. Our media loading function zdl also be initializing tiles so it need to take them in as an argument.
Lazy Foo’ Productions – Extension Libraries and Loading Other Image Formats
We also the touchesWall function that checks a collision box against every wall in a tile set which will be used when we need to check the dot against the whole tile set. Finally the setTiles function loads and sets the tiles. When we render we only want to show tiles that are in the camera’s sight: When we move the dot we check if it goes off the level or hits a wall tile. If it does we correct it.
We then open the lazy. Before we can continue we have to check if the map loaded correctly by checking if it’s NULL. If it is NULL we abort and if not we continue loading the file. Unexpected end of file! We read a number into the tileType variable and then check if the read failed.
If the read failed, we abort. If not we then check if the tile type number is valid.
If it is valid we create a new flo of the given type, if not we print an error and stop loading tiles. After loading a tile we move to the text tile position to the right. If we reached the end of a line of tiles, we move down to the next row. After all the tiles are loaded we set the clip rectangles for the tile sprites. Finally we load the map file and return. If the given collision box collides with any tile that is a wall this function returns true.
In the main function right before we load the media we declare our array of tile pointers. Our main loop is pretty much the same with some adjustments.
Welcome to LearnProgramming!
When we move the dot we pass in the tile set and then set the camera over the dot after it moved. We then render the tile set and finally render the dot over the level. Download the media and source code tutorialw this tutorial here. Back to SDL Tutorials.