Update lib/tilesheet.lua
This commit is contained in:
1 parent
8fe5a482f3
commit
a8d5388faa
1 file changed
+2
-20
+2
-20
@@ -19,43 +19,25 @@ local tile_metatable = {
|
||||
}
|
||||
|
||||
local tilesheet.load = function(data_or_path)
|
||||
local tile_image, tile_size, tile_usage
|
||||
local tile_image, tile_size
|
||||
local tiles = {}
|
||||
|
||||
if type(data_or_path) == "table" then
|
||||
tile_image = load_image(data_or_path.image_path)
|
||||
tile_size = data_or_path.tile_size
|
||||
|
||||
local image_width, image_height = tile_image:getDimensions()
|
||||
tile_usage = {}
|
||||
for x = 1, image_width / tile_size do
|
||||
tile_usage[x] = {}
|
||||
for y = 1, image_height / tile_size do
|
||||
tile_usage[x][y] = false
|
||||
end
|
||||
end
|
||||
|
||||
for name, tile_data in pairs(data_or_path.tiles) do
|
||||
tiles[name] = setmetatable({
|
||||
image = 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_usage[tile_data.x][tile_data.y] = true
|
||||
end
|
||||
|
||||
else
|
||||
tile_image = load_image(data_or_path)
|
||||
end
|
||||
|
||||
tilesheet.active_sheet = {
|
||||
image = tile_image,
|
||||
size = tile_size, -- unset on new
|
||||
tiles = tiles, -- empty on new
|
||||
tile_usage = tile_usage, -- unset on new
|
||||
}
|
||||
|
||||
return tiles
|
||||
return tiles, tile_image
|
||||
end
|
||||
|
||||
return setmetatable(tilesheet, {
|
||||
|
||||
Reference in new issue
Block a user