diff options
Diffstat (limited to 'meta/3rd/Defold/library/tilemap.lua')
-rw-r--r-- | meta/3rd/Defold/library/tilemap.lua | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/meta/3rd/Defold/library/tilemap.lua b/meta/3rd/Defold/library/tilemap.lua new file mode 100644 index 00000000..d9e4e8bb --- /dev/null +++ b/meta/3rd/Defold/library/tilemap.lua @@ -0,0 +1,78 @@ +---Tilemap API documentation +---Functions and messages used to manipulate tile map components. +---@class tilemap +tilemap = {} +---flip tile horizontally +tilemap.H_FLIP = nil +---rotate tile 180 degrees clockwise +tilemap.ROTATE_180 = nil +---rotate tile 270 degrees clockwise +tilemap.ROTATE_270 = nil +---rotate tile 90 degrees clockwise +tilemap.ROTATE_90 = nil +---flip tile vertically +tilemap.V_FLIP = nil +---Get the bounds for a tile map. This function returns multiple values: +---The lower left corner index x and y coordinates (1-indexed), +---the tile map width and the tile map height. +---The resulting values take all tile map layers into account, meaning that +---the bounds are calculated as if all layers were collapsed into one. +---@param url string|hash|url # the tile map +---@return number # x coordinate of the bottom left corner +---@return number # y coordinate of the bottom left corner +---@return number # number of columns (width) in the tile map +---@return number # number of rows (height) in the tile map +function tilemap.get_bounds(url) end + +---Get the tile set at the specified position in the tilemap. +---The position is identified by the tile index starting at origin +---with index 1, 1. (see tilemap.set_tile() <>) +---Which tile map and layer to query is identified by the URL and the +---layer name parameters. +---@param url string|hash|url # the tile map +---@param layer string|hash # name of the layer for the tile +---@param x number # x-coordinate of the tile +---@param y number # y-coordinate of the tile +---@return number # index of the tile +function tilemap.get_tile(url, layer, x, y) end + +---Replace a tile in a tile map with a new tile. +---The coordinates of the tiles are indexed so that the "first" tile just +---above and to the right of origin has coordinates 1,1. +---Tiles to the left of and below origin are indexed 0, -1, -2 and so forth. +--- +---+-------+-------+------+------+ +---| 0,3 | 1,3 | 2,3 | 3,3 | +---+-------+-------+------+------+ +---| 0,2 | 1,2 | 2,2 | 3,2 | +---+-------+-------+------+------+ +---| 0,1 | 1,1 | 2,1 | 3,1 | +---+-------O-------+------+------+ +---| 0,0 | 1,0 | 2,0 | 3,0 | +---+-------+-------+------+------+ +--- +--- +---The coordinates must be within the bounds of the tile map as it were created. +---That is, it is not possible to extend the size of a tile map by setting tiles outside the edges. +---To clear a tile, set the tile to number 0. Which tile map and layer to manipulate is identified by the URL and the layer name parameters. +---Transform bitmask is arithmetic sum of one or both FLIP constants (tilemap.H_FLIP, tilemap.V_FLIP) and/or one of ROTATION constants +---(tilemap.ROTATE_90, tilemap.ROTATE_180, tilemap.ROTATE_270). +---Flip always applies before rotation (clockwise). +---@param url string|hash|url # the tile map +---@param layer string|hash # name of the layer for the tile +---@param x number # x-coordinate of the tile +---@param y number # y-coordinate of the tile +---@param tile number # index of new tile to set. 0 resets the cell +---@param transform_bitmask number? # optional flip and/or rotation should be applied to the tile +function tilemap.set_tile(url, layer, x, y, tile, transform_bitmask) end + +---Sets the visibility of the tilemap layer +---@param url string|hash|url # the tile map +---@param layer string|hash # name of the layer for the tile +---@param visible boolean # should the layer be visible +function tilemap.set_visible(url, layer, visible) end + + + + +return tilemap
\ No newline at end of file |