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 tilesheet.load = function(data_or_path)
|
||||||
local tile_image, tile_size, tile_usage
|
local tile_image, tile_size
|
||||||
local tiles = {}
|
local tiles = {}
|
||||||
|
|
||||||
if type(data_or_path) == "table" then
|
if type(data_or_path) == "table" then
|
||||||
tile_image = load_image(data_or_path.image_path)
|
tile_image = load_image(data_or_path.image_path)
|
||||||
tile_size = data_or_path.tile_size
|
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
|
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( (tile_data.x - 1) * tile_size, (tile_data.y - 1) * tile_size, tile_size, 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)
|
||||||
|
|
||||||
tile_usage[tile_data.x][tile_data.y] = true
|
|
||||||
end
|
end
|
||||||
|
|
||||||
else
|
else
|
||||||
tile_image = load_image(data_or_path)
|
tile_image = load_image(data_or_path)
|
||||||
end
|
end
|
||||||
|
|
||||||
tilesheet.active_sheet = {
|
return tiles, tile_image
|
||||||
image = tile_image,
|
|
||||||
size = tile_size, -- unset on new
|
|
||||||
tiles = tiles, -- empty on new
|
|
||||||
tile_usage = tile_usage, -- unset on new
|
|
||||||
}
|
|
||||||
|
|
||||||
return tiles
|
|
||||||
end
|
end
|
||||||
|
|
||||||
return setmetatable(tilesheet, {
|
return setmetatable(tilesheet, {
|
||||||
|
|||||||
Reference in new issue
Block a user