From 4393d2aa87b61c15ed62960547b57876e1689f09 Mon Sep 17 00:00:00 2001 From: PossiblyAxolotl Date: Sat, 23 Apr 2022 17:54:00 -0600 Subject: [PATCH] fixed loading finally --- Source/Map.lua | 6 +++-- Source/Menu.lua | 12 ++++----- Source/Player.lua | 27 ++++++++++++++++++++- Source/gfx/bigrocket.png | Bin 312 -> 531 bytes Source/levels/bits1.json | 1 - Source/levels/level.json | 1 + Source/levels/{level1.json => level2.json} | 0 7 files changed, 37 insertions(+), 10 deletions(-) delete mode 100644 Source/levels/bits1.json create mode 100644 Source/levels/level.json rename Source/levels/{level1.json => level2.json} (100%) diff --git a/Source/Map.lua b/Source/Map.lua index 8ba217f..d9d812c 100644 --- a/Source/Map.lua +++ b/Source/Map.lua @@ -3,8 +3,10 @@ local tileTable = gfx.imagetable.new("gfx/tiles") local tilemap = gfx.tilemap.new() tilemap:setImageTable(tileTable) + + function addMapSave(_file) - playdate.datastore.write({level=_file},"savegame") + playdate.datastore.write({savedLevel=_file},"savegame") addMap(_file) end @@ -15,7 +17,7 @@ function addMap(_file) tilemap:setTileAtPosition(level.tiles[i].x,level.tiles[i].y,level.tiles[i].t) end - addPlayer(level.rocket.x,level.rocket.y) + addPlayer(level.rocket.x,level.rocket.y, level.bigrocket.x, level.bigrocket.y) gfx.sprite.addWallSprites(tilemap, {0,1}) diff --git a/Source/Menu.lua b/Source/Menu.lua index 350cc3f..f0867d2 100644 --- a/Source/Menu.lua +++ b/Source/Menu.lua @@ -15,12 +15,12 @@ assert(imgBytes) mainmenu = {} function mainMenuCreation() mainmenu = {} -if playdate.datastore.read("savegame") then - map = playdate.datastore.read("savegame").level - mainmenu[4],mainmenu[3],mainmenu[2],mainmenu[1], mainmenu[0] = "CONTINUE", "START NEW GAME", "USER LEVELS", "ABOUT THE CREATOR", "mainPlay" -else mainmenu[3],mainmenu[2],mainmenu[1], mainmenu[0] = "START NEW GAME", "USER LEVELS", "ABOUT THE CREATOR", "mainNoPlay" -end + + if playdate.datastore.read("savegame") then + map = playdate.datastore.read("savegame").savedLevel + mainmenu[4], mainmenu[0] = "CONTINUE", "mainPlay" + end end mainMenuCreation() @@ -75,7 +75,7 @@ function menuButtonPress(name) createMenu(m) elseif name == "START NEW GAME" or name == "CONFIRM" then - addMapSave("levels/level1.json") + addMapSave("levels/level.json") elseif name == "CONTINUE" then addMap(map) diff --git a/Source/Player.lua b/Source/Player.lua index d630eed..94178a8 100644 --- a/Source/Player.lua +++ b/Source/Player.lua @@ -3,6 +3,7 @@ import "CoreLibs/math" local velocity = {x=0,y=0} local lerpmnt = 0.5 local grav = 0.2 +scale = 1 local exists = false local active = false @@ -13,11 +14,20 @@ local sprRocket = gfx.sprite.new(imgRocket) sprRocket:setCollideRect(7, 7, 14, 14) local startpos = {x=0,y=0} -function addPlayer(_x,_y) +local imgBigRocket = gfx.image.new("gfx/bigrocket") +assert(imgBigRocket) +local sprBigRocket = gfx.sprite.new(imgBigRocket) +sprBigRocket:setCollideRect(8,8,48,48) +sprBigRocket:setGroups({2}) + +function addPlayer(_x,_y,__x,__y) exists = true + scale = 1 active = false velocity = {x=0,y=0} startpos = {x= _x,y=_y} + sprBigRocket:moveTo(__x,__y) + sprBigRocket:add() sprRocket:moveTo(_x,_y) sprRocket:add() end @@ -29,6 +39,11 @@ function killPlayer() gfx.setDrawOffset(0,0) end +local function playerWin() + active = false + exists = false +end + local function die() active = false velocity = {x=0,y=0} @@ -64,5 +79,15 @@ function updatePlayer() gfx.setDrawOffset(playdate.math.lerp(cx,(-sprRocket.x + 200), lerpmnt), playdate.math.lerp(cy,(-sprRocket.y + 120), lerpmnt)) end + updateExit() + + sprRocket:setScale(scale,scale) + sprRocket:setRotation(playdate.getCrankPosition()) +end + +function updateExit() + if sprBigRocket:alphaCollision(sprRocket) then + playerWin() + end end \ No newline at end of file diff --git a/Source/gfx/bigrocket.png b/Source/gfx/bigrocket.png index e6e09f8c98aeb507465409ad1be2d6e10bb966da..60b4cfdeef2df45d14e7bdb59478eaaec3a64b9d 100644 GIT binary patch literal 531 zcmV+u0_^>XP)V60l}zrUxHj6C_(m#MWI z>bsW_X`SZ@0024XO1@73eL|!a1XvlOnWufdK2nb)2Q&)s7+s4TVpfK?K- zGmi=adVjd=x=w8#QWCh=G4x`fl#&4YyT#iR@U|=5s^e>A#Hz1y?S5$2$Fs!k33!eH z)~CGM8m&Xzo`CBZuvE=;w=tl19Xw8wwkKeDCTMkngOaur1k9eVTi5mX>~o30b_W4C z#~+O#MxM^KF{1dq)v6O*wR;(}DnJl0{uF3s0EM3~@BWz73SUT=vb#M2X*6QoTAbFZ zlB^!y50Npd{7lSI+V9GDTxa z>PuiW5uv}RY;3kA6P{b7cJo2ttcA(~#yD-cZ$FH*DZRQNY