Reply to Re: Tiles
If you don't have an account, just leave the password field blank.
You can use map_tile to change certain tiles in a screen. Here's a full description of map_tile quoted from the DinkC reference.
Category: Tile
Version: 1.08+
Prototype: int map_tile(int tile_position, int tile_index[-1]);
map_tile gets or sets the map tile for the tile at position tile_position.
The tile_position refers to a tile on the current screen. Tile 1 is in the upper left-hand corner, and the position counts left-to-right until Tile 96 at the bottom-right corner.
The tile_index will range from 1 to 4428. tile_index 1 is the tile in the upper-left corner of tileset 1, tile 109 is the tile in the upper-left corner of tileset 2, and so on.
You must use draw_background or draw_screen to show changed tiles.
It is recommended that you either use the map_tile to get the value of a tile you already know, or to create your own function to do the conversion for you:
Category: Tile
Version: 1.08+
Prototype: int map_tile(int tile_position, int tile_index[-1]);
map_tile gets or sets the map tile for the tile at position tile_position.
The tile_position refers to a tile on the current screen. Tile 1 is in the upper left-hand corner, and the position counts left-to-right until Tile 96 at the bottom-right corner.
The tile_index will range from 1 to 4428. tile_index 1 is the tile in the upper-left corner of tileset 1, tile 109 is the tile in the upper-left corner of tileset 2, and so on.
You must use draw_background or draw_screen to show changed tiles.
It is recommended that you either use the map_tile to get the value of a tile you already know, or to create your own function to do the conversion for you:
// get_map_tile_index // &arg1 = Tileset (1-41) // &arg2 = Tile X coordinate (1-12) // &arg3 = Tile Y coordinate (1-9) void get_map_tile_index() { int &index = 1; // Calculate the Tileset offset int &temp = &arg1; &temp -= 1; &temp * 108; &index += &temp; // Calculate the X offset &temp = &arg2; &temp -= 1; &index += &temp; // Calculate the Y offset &temp = &arg2; &temp -= 1; &temp * 12; &index += &temp; return(&index); }