diff --git a/parts/gametoolfunc.lua b/parts/gametoolfunc.lua index c6196bf4..8972986a 100644 --- a/parts/gametoolfunc.lua +++ b/parts/gametoolfunc.lua @@ -611,19 +611,21 @@ function backScene()SCN.back()end do--function goScene(name,style) local cache={} function goScene(name,style) - if not cache[name]then - cache[name]=function()SCN.go(name,style)end + local hash=style and name..style or name + if not cache[hash]then + cache[hash]=function()SCN.go(name,style)end end - return cache[name] + return cache[hash] end end do--function swapScene(name,style) local cache={} function swapScene(name,style) - if not cache[name]then - cache[name]=function()SCN.swapTo(name,style)end + local hash=style and name..style or name + if not cache[hash]then + cache[hash]=function()SCN.swapTo(name,style)end end - return cache[name] + return cache[hash] end end do--function pressKey(k) diff --git a/parts/scenes/setting_game.lua b/parts/scenes/setting_game.lua index fe796a53..988e4623 100644 --- a/parts/scenes/setting_game.lua +++ b/parts/scenes/setting_game.lua @@ -21,8 +21,8 @@ end scene.widgetList={ WIDGET.newText{name="title", x=640,y=15,font=80}, - WIDGET.newButton{name="graphic", x=200, y=80, w=240,h=80, color='lC',font=35,code=swapScene"setting_video","swipeR"}, - WIDGET.newButton{name="sound", x=1080, y=80, w=240,h=80, color='lC',font=35,code=swapScene"setting_sound","swipeL"}, + WIDGET.newButton{name="graphic", x=200, y=80, w=240,h=80, color='lC',font=35,code=swapScene("setting_video",'swipeR')}, + WIDGET.newButton{name="sound", x=1080, y=80, w=240,h=80, color='lC',font=35,code=swapScene("setting_sound",'swipeL')}, WIDGET.newButton{name="ctrl", x=290, y=220, w=320,h=80, color='lY',font=35,code=goScene"setting_control"}, WIDGET.newButton{name="key", x=640, y=220, w=320,h=80, color='lG',font=35,code=goScene"setting_key"}, diff --git a/parts/scenes/setting_sound.lua b/parts/scenes/setting_sound.lua index 68c772c4..a000db49 100644 --- a/parts/scenes/setting_sound.lua +++ b/parts/scenes/setting_sound.lua @@ -57,8 +57,8 @@ end scene.widgetList={ WIDGET.newText{name="title", x=640,y=15,font=80}, - WIDGET.newButton{name="game", x=200, y=80,w=240,h=80,color='lC',font=35,code=swapScene"setting_game","swipeR"}, - WIDGET.newButton{name="graphic",x=1080, y=80,w=240,h=80,color='lC',font=35,code=swapScene"setting_video","swipeL"}, + WIDGET.newButton{name="game", x=200, y=80,w=240,h=80,color='lC',font=35,code=swapScene("setting_game",'swipeR')}, + WIDGET.newButton{name="graphic",x=1080, y=80,w=240,h=80,color='lC',font=35,code=swapScene("setting_video",'swipeL')}, WIDGET.newSlider{name="sfx", x=180, y=200,w=400, font=35,change=function()SFX.play('blip_1')end,disp=SETval("sfx"),code=SETsto("sfx")}, WIDGET.newSlider{name="spawn", x=180, y=300,w=400, font=30,change=function()SFX.fplay("spawn_"..math.random(7),SETTING.sfx_spawn)end,disp=SETval("sfx_spawn"),code=SETsto("sfx_spawn")}, diff --git a/parts/scenes/setting_video.lua b/parts/scenes/setting_video.lua index f3fe8180..93ecc429 100644 --- a/parts/scenes/setting_video.lua +++ b/parts/scenes/setting_video.lua @@ -10,8 +10,8 @@ end scene.widgetList={ WIDGET.newText{name="title", x=640,y=15,font=80}, - WIDGET.newButton{name="sound", x=200,y=80,w=240,h=80,color='lC',font=35,code=swapScene"setting_sound","swipeR"}, - WIDGET.newButton{name="game", x=1080,y=80,w=240,h=80,color='lC',font=35,code=swapScene"setting_game","swipeL"}, + WIDGET.newButton{name="sound", x=200,y=80,w=240,h=80,color='lC',font=35,code=swapScene("setting_sound",'swipeR')}, + WIDGET.newButton{name="game", x=1080,y=80,w=240,h=80,color='lC',font=35,code=swapScene("setting_game",'swipeL')}, WIDGET.newSwitch{name="block", x=290,y=165,disp=SETval("block"),code=SETrev("block")}, WIDGET.newSwitch{name="smooth", x=290,y=215,disp=SETval("smooth"),code=SETrev("smooth")},