Update lib/tilesheet.lua
This commit is contained in:
1 parent
18cf902b9d
commit
052a637f7c
1 file changed
+16
-5
+16
-5
@@ -19,20 +19,31 @@ local tile_metatable = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
local tilesheet.load = function(data_or_path)
|
local tilesheet.load = function(data_or_path)
|
||||||
if type(data_or_path) == "table" then
|
local tile_image, tile_size
|
||||||
local tile_image = load_image(data_or_path.image_path)
|
|
||||||
local tiles = {}
|
local tiles = {}
|
||||||
|
|
||||||
for name, data in pairs(data_or_path.tiles) do
|
if type(data_or_path) == "table" then
|
||||||
|
tile_image = load_image(data_or_path.image_path)
|
||||||
|
tile_size = data_or_path.tile_size
|
||||||
|
|
||||||
|
for name, tile_data in pairs(data_or_path.tiles) do
|
||||||
tiles[name] = setmetatable({
|
tiles[name] = setmetatable({
|
||||||
image = tile_image,
|
image = tile_image,
|
||||||
quad = love.graphics.newQuad( (data.x - 1) * data_or_path.tile_size, (data.y - 1) * data_or_path.tile_size, data_or_path.tile_size, data_or_path.tile_size, tile_image ),
|
quad = love.graphics.newQuad( (tile_data.x - 1) * tile_size, (tile_data.y - 1) * tile_size, tile_size, tile_size, tile_image ),
|
||||||
}, tile_metatable)
|
}, tile_metatable)
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
tile_image = load_image(data_or_path)
|
||||||
|
end
|
||||||
|
|
||||||
|
tilesheet.active_sheet = {
|
||||||
|
image = tile_image,
|
||||||
|
size = tile_size,
|
||||||
|
tiles = tiles,
|
||||||
|
}
|
||||||
|
|
||||||
return tiles
|
return tiles
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
return setmetatable(tilesheet, {
|
return setmetatable(tilesheet, {
|
||||||
__call = function(self, ...) return tilesheet.load(...) end
|
__call = function(self, ...) return tilesheet.load(...) end
|
||||||
|
|||||||
Reference in new issue
Block a user