37 lines
No EOL
1 KiB
Lua
37 lines
No EOL
1 KiB
Lua
local gfx <const> = playdate.graphics
|
|
local tileTable <const> = gfx.imagetable.new("gfx/tiles")
|
|
local tilemap <const> = gfx.tilemap.new()
|
|
tilemap:setImageTable(tileTable)
|
|
|
|
local tiles = {}
|
|
|
|
function addMapSave(_file)
|
|
playdate.datastore.write({savedLevel=_file,savedDeaths=deaths},"savegame")
|
|
addMap(_file, false)
|
|
mode = "game"
|
|
end
|
|
|
|
function addMap(_file, rs)
|
|
if rs then deaths = 0 end
|
|
if #tiles > 0 then
|
|
for i = 1, #tiles, 1 do
|
|
tiles[i]:remove()
|
|
end
|
|
end
|
|
local level = json.decodeFile(_file)
|
|
|
|
tilemap:setSize(level.dimensions.x,level.dimensions.y)
|
|
for i = 1, #level.tiles, 1 do
|
|
tilemap:setTileAtPosition(level.tiles[i].x,level.tiles[i].y,level.tiles[i].t)
|
|
end
|
|
|
|
if level.saws then loadBlades(level.saws) end
|
|
if level.rotators then loadSpins(level.rotators) end
|
|
addPlayer(level.rocket.x,level.rocket.y, level.bigrocket.x, level.bigrocket.y)
|
|
|
|
tiles = gfx.sprite.addWallSprites(tilemap, {0,1})
|
|
end
|
|
|
|
function drawTiles()
|
|
tilemap:draw(0,0)
|
|
end |