fixed menu sys

This commit is contained in:
PossiblyAxolotl 2022-04-24 12:47:37 -06:00
parent 49f32674e5
commit 48d062b2f0

View file

@ -16,11 +16,11 @@ assert(imgBytes)
mainmenu = {} mainmenu = {}
function mainMenuCreation() function mainMenuCreation()
mainmenu = {} mainmenu = {}
mainmenu[3],mainmenu[2],mainmenu[1], mainmenu[0] = "START NEW GAME", "USER LEVELS", "ABOUT THE CREATOR", "mainNoPlay" mainmenu[4],mainmenu[3],mainmenu[2], mainmenu[1], mainmenu[0] = "START NEW GAME", "USER LEVELS", "LEVEL EDITOR", "ABOUT THE CREATOR", "mainNoPlay"
if playdate.datastore.read("savegame") then if playdate.datastore.read("savegame") then
map = playdate.datastore.read("savegame").savedLevel map = playdate.datastore.read("savegame").savedLevel
mainmenu[4], mainmenu[0] = "CONTINUE", "mainPlay" mainmenu[5], mainmenu[0] = "CONTINUE", "mainPlay"
end end
end end
@ -44,17 +44,19 @@ function updateMenu()
-- input -- input
local change, aChange = playdate.getCrankChange() local change, aChange = playdate.getCrankChange()
if playdate.buttonJustPressed(playdate.kButtonUp) or change < -10 then if playdate.buttonJustPressed(playdate.kButtonUp) then
index -= 1 index -= 1
elseif playdate.buttonJustPressed(playdate.kButtonDown) or change > 10 then elseif playdate.buttonJustPressed(playdate.kButtonDown) then
index += 1 index += 1
end end
if index < 0 then index = #menuitems -1 end index += change * 0.01
if index > #menuitems - 1 then index = 0 end
if math.floor(index) < 0 then index = #menuitems -0.01 end
if math.floor(index) > #menuitems - 1 then index = 0 end
controlX = playdate.math.lerp(controlX, 20, 0.3) controlX = playdate.math.lerp(controlX, 20, 0.3)
controlY = playdate.math.lerp(controlY, (20 * index) - 1, 0.5) controlY = playdate.math.lerp(controlY, (20 * math.floor(index)) - 1, 0.5)
for i = 1, #menuitems, 1 do for i = 1, #menuitems, 1 do
local item = menuitems[i] local item = menuitems[i]
gfx.drawText(item.name,controlX,item.y) gfx.drawText(item.name,controlX,item.y)
@ -62,7 +64,7 @@ function updateMenu()
imgCursor:draw(controlX - 17,controlY + (243 - (20 * #menuitems))) imgCursor:draw(controlX - 17,controlY + (243 - (20 * #menuitems)))
if playdate.buttonJustPressed(playdate.kButtonA) then if playdate.buttonJustPressed(playdate.kButtonA) then
menuButtonPress(menuitems[#menuitems - index].name) menuButtonPress(menuitems[#menuitems - math.floor(index)].name)
end end
imgBytes:draw(0,0) imgBytes:draw(0,0)
@ -72,7 +74,7 @@ local function customLoad()
local lvls = playdate.file.listFiles("levels") local lvls = playdate.file.listFiles("levels")
local m = {} local m = {}
m[0], m[1] = "customs", "BACK" m[0], m[1] = "customs", "BACK"
if #lvls - (1 + (7*page)) <= 0 then page = 0 end if #lvls - ((7*page)) <= 0 then page = 0 end
if #lvls < 7 then if #lvls < 7 then
for i = 1, #lvls, 1 do for i = 1, #lvls, 1 do
m[i+1] = lvls[i]:upper() m[i+1] = lvls[i]:upper()
@ -113,7 +115,11 @@ function menuButtonPress(name)
customLoad() customLoad()
elseif name == "NEXT PAGE" then elseif name == "NEXT PAGE" then
page += 1 page += 1
if menu == "customs" then
customLoad() customLoad()
else
editLoad()
end
elseif name == "BACK" or name == "CANCEL" then elseif name == "BACK" or name == "CANCEL" then
createMenu(mainmenu) createMenu(mainmenu)