修复按钮切换场景的快捷方式函数缓存时没有考虑到切换样式

This commit is contained in:
MrZ626
2021-05-10 14:49:53 +08:00
parent 7307a071ab
commit 5e617375e1
4 changed files with 14 additions and 12 deletions

View File

@@ -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)

View File

@@ -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"},

View File

@@ -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")},

View File

@@ -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")},