音乐室改为launchpad(暂时只有两页)

This commit is contained in:
MrZ626
2021-09-26 18:58:40 +08:00
parent 03689c6a0b
commit 242416a25d
10 changed files with 185 additions and 551 deletions

View File

@@ -587,70 +587,9 @@ return{
},
sound={
title="SFX Room",
sfx="SFXs",
voc="Voices",
move="Movement",
lock="Lock",
drop="Drop",
fall="Fall",
rotate="Rotation",
rotatekick="Rotation (kick)",
hold="Hold",
prerotate="Initial Rotation",
prehold="Initial Hold",
_pc="Clear & PC",
clear1="clear 1",
clear2="clear 2",
clear3="clear 3",
clear4="clear 4",
spin0="spin 0",
spin1="spin 1",
spin2="spin 2",
spin3="spin 3",
_1="Single",
_2="Double",
_3="Triple",
_4="Techrash",
z0="Z-Spin",
z1="Z-Spin 1",
z2="Z-Spin 2",
z3="Z-Spin 3",
s0="S-Spin",
s1="S-Spin 1",
s2="S-Spin 2",
s3="S-Spin 3",
j0="J-Spin",
j1="J-Spin 1",
j2="J-Spin 2",
j3="J-Spin 3",
l0="L-Spin",
l1="L-Spin 1",
l2="L-Spin 2",
l3="L-Spin 3",
t0="T-Spin",
t1="T-Spin 1",
t2="T-Spin 2",
t3="T-Spin 3",
o0="O-Spin",
o1="O-Spin 1",
o2="O-Spin 2",
o3="O-Spin 3",
i0="I-Spin",
i1="I-Spin 1",
i2="I-Spin 2",
i3="I-Spin 3",
mini="Mini",
b2b="B2B",
b3b="B3B",
pc="PC",
bgm="BGM",
sfx="SFX",
voc="VOC",
music="BGMs",
},
login={

View File

@@ -537,30 +537,14 @@ return{
now="Reproduciendo:",
bgm="BGM",
up="",
play="Reprod.",
down="",
sound="SFXs",
},
sound={
title="Sala de SFX",
bgm="BGM",
sfx="SFX",
voc="Voces",
move="Mover",
lock="Traba",
drop="Drop",
fall="Caída",
rotate="Rotación",
rotatekick="Rot. con Kickeo",
hold="Reserva",
prerotate="Rot. Inicial",
prehold="Resv. Inicial",
_1="Single",
_2="Doble",
_3="Triple",
_4="Techrash",
music="BGMs",
},
login={

View File

@@ -540,24 +540,9 @@ return{
},
sound={
title="Salon SE",
bgm="Musique",
sfx="Sons",
voc="Voix",
move="Déplacement",
lock="Verrouillage",
drop="Chute",
fall="Tombée",
rotate="Rotation",
rotatekick="Rot+kick",
hold="Réserve",
prerotate="Prérotation",
prehold="Préréserve",
_pc="PC",
_1="Simple",
_2="Double",
_3="Triple",
_4="Techrash",
music="Musique",
},
login={

View File

@@ -575,76 +575,14 @@ return{
now="Now Playing:",
bgm="BGM",
up="",
play="Jogar",
down="",
-- sound="SFXs",
},
sound={
title="Efeito Sonoros",
bgm="BGM",
sfx="SFX",
voc="VOZ",
move="Movimento",
lock="Trava",
drop="Derrubar",
fall="Queda",
rotate="Rotação",
rotatekick="Rotação (Chute)",
hold="Segurar",
prerotate="Rotação Inicial",
prehold="Segurar Inicial",
_pc="Limpar E PC",
clear1="clear 1",
clear2="clear 2",
clear3="clear 3",
clear4="clear 4",
spin0="spin 0",
spin1="spin 1",
spin2="spin 2",
spin3="spin 3",
_1="Single",
_2="Double",
_3="Triple",
_4="Techrash",
z0="Z-spin",
z1="Z-spin 1",
z2="Z-spin 2",
z3="Z-spin 3",
s0="S-spin",
s1="S-spin 1",
s2="S-spin 2",
s3="S-spin 3",
j0="J-spin",
j1="J-spin 1",
j2="J-spin 2",
j3="J-spin 3",
l0="L-spin",
l1="L-spin 1",
l2="L-spin 2",
l3="L-spin 3",
t0="T-spin",
t1="T-spin 1",
t2="T-spin 2",
t3="T-spin 3",
o0="O-spin",
o1="O-spin 1",
o2="O-spin 2",
o3="O-spin 3",
i0="I-spin",
i1="I-spin 1",
i2="I-spin 2",
i3="I-spin 3",
mini="Mini",
b2b="B2B",
b3b="B3B",
pc="PC",
-- music="BGMs",
},
login={

View File

@@ -455,70 +455,10 @@ return{
sound="=><=",
},
sound={
title="SE Room",
title="SFX Room",
bgm="#~#",
sfx="#!#",
voc="~~~",
move="←→",
lock="Lock",
drop="Drop",
fall="Fall",
rotate="''",
rotatekick="''_",
hold="[ ]",
prerotate="!''",
prehold="![ ]",
_pc="#<>#",
clear1="1",
clear2="2",
clear3="3",
clear4="4",
spin0="~0",
spin1="~1",
spin2="~2",
spin3="~3",
_1="1",
_2="2",
_3="3",
_4="4",
z0="Z ~",
z1="Z ~ 1",
z2="Z ~ 2",
z3="Z ~ 3",
s0="S ~",
s1="S ~ 1",
s2="S ~ 2",
s3="S ~ 3",
j0="J ~",
j1="J ~ 1",
j2="J ~ 2",
j3="J ~ 3",
l0="L ~",
l1="L ~ 1",
l2="L ~ 2",
l3="L ~ 3",
t0="T ~",
t1="T ~ 1",
t2="T ~ 2",
t3="T ~ 3",
o0="O ~",
o1="O ~ 1",
o2="O ~ 2",
o3="O ~ 3",
i0="I ~",
i1="I ~ 1",
i2="I ~ 2",
i3="I ~ 3",
mini="v",
b2b="^",
b3b="^^",
pc="#<>#",
music="~~~",
},
login={

View File

@@ -129,57 +129,6 @@ return{
password2="你懂的",
registering="",
},
sound={
title="音效室",
sfx="音效",
voc="语音",
hold="暂存",
prehold="提前暂存",
_pc="消干净了",
spin0="空旋转",
spin1="旋转消一",
spin2="旋转消二",
spin3="旋转消三",
z0="Z旋",
z1="Z旋消一",
z2="Z旋消二",
z3="Z旋消三",
s0="S旋",
s1="S旋消一",
s2="S旋消二",
s3="S旋消三",
j0="J旋",
j1="J旋消一",
j2="J旋消二",
j3="J旋消三",
l0="L旋",
l1="L旋消一",
l2="L旋消二",
l3="L旋消三",
t0="T旋",
t1="T旋消一",
t2="T旋消二",
t3="T旋消三",
o0="O旋",
o1="O旋消一",
o2="O旋消二",
o3="O旋消三",
i0="I旋",
i1="I旋消一",
i2="I旋消二",
i3="I旋消三",
mini="",
b2b="牛逼",
b3b="很牛逼",
pc="消干净了",
},
app_15p={
reset="打乱",
color="",

View File

@@ -573,74 +573,14 @@ return{
now="正在播放:",
bgm="BGM",
sound="音效",
sound="音效",
},
sound={
title="音效室",
bgm="音乐",
sfx="音效",
voc="语音",
move="移动",
lock="锁定",
drop="硬降",
fall="行落下",
rotate="旋转",
rotatekick="旋转进洞",
hold="Hold",
prerotate="提前旋转",
prehold="提前Hold",
_pc="全消",
clear1="Single",
clear2="Double",
clear3="Triple",
clear4="Techrash",
spin0="spin 0",
spin1="spin 1",
spin2="spin 2",
spin3="spin 3",
_1="Single",
_2="Double",
_3="Triple",
_4="Techrash",
z0="Z-spin",
z1="Z-spin 1",
z2="Z-spin 2",
z3="Z-spin 3",
s0="S-spin",
s1="S-spin 1",
s2="S-spin 2",
s3="S-spin 3",
j0="J-spin",
j1="J-spin 1",
j2="J-spin 2",
j3="J-spin 3",
l0="L-spin",
l1="L-spin 1",
l2="L-spin 2",
l3="L-spin 3",
t0="T-spin",
t1="T-spin 1",
t2="T-spin 2",
t3="T-spin 3",
o0="O-spin",
o1="O-spin 1",
o2="O-spin 2",
o3="O-spin 3",
i0="I-spin",
i1="I-spin 1",
i2="I-spin 2",
i3="I-spin 3",
mini="Mini",
b2b="B2B",
b3b="B3B",
pc="PC",
music="音乐",
music="音乐室",
},
about={
staff="制作人员",

View File

@@ -82,57 +82,6 @@ return{
infHold="无限暂存",
phyHold="物理暂存",
},
sound={
clear1="消一",
clear2="消二",
clear3="消三",
clear4="消四",
spin0="空旋转",
spin1="旋转消一",
spin2="旋转消二",
spin3="旋转消三",
_1="消一",
_2="消二",
_3="消三",
_4="消四",
z0="Z旋",
z1="Z旋消一",
z2="Z旋消二",
z3="Z旋消三",
s0="S旋",
s1="S旋消一",
s2="S旋消二",
s3="S旋消三",
j0="J旋",
j1="J旋消一",
j2="J旋消二",
j3="J旋消三",
l0="L旋",
l1="L旋消一",
l2="L旋消二",
l3="L旋消三",
t0="T旋",
t1="T旋消一",
t2="T旋消二",
t3="T旋消三",
o0="O旋",
o1="O旋消一",
o2="O旋消二",
o3="O旋消三",
i0="I旋",
i1="I旋消一",
i2="I旋消二",
i3="I旋消三",
mini="迷你",
b2b="满贯",
b3b="大满贯",
pc="全清",
},
},
modes={
['sprint_10l']= {"竞速", "10行", "消除10行"},

View File

@@ -590,72 +590,11 @@ return{
sound="特技效果",
},
sound={
title="休息室",
title="特技效果",
bgm="背景音乐",
sfx="特技效果",
voc="声音",
move="移动",
lock="",
drop="",
fall="落下",
rotate="轮换",
rotatekick="旋转(踢)",
hold="持有",
prerotate="初始旋转",
prehold="初始持有",
_pc="清除和个人电脑",
clear1="清除1",
clear2="清除2",
clear3="清除3",
clear4="清除4",
spin0="旋转0",
spin1="旋转1",
spin2="旋转2",
spin3="旋转3",
_1="单身",
_2="双重的",
_3="三倍的",
_4="技术崩溃",
z0="Z自旋",
z1="Z自旋1",
z2="Z自旋2",
z3="Z自旋3",
s0="S自旋",
s1="S自旋1",
s2="S自旋2",
s3="S自旋3",
j0="J自旋",
j1="J自旋1",
j2="J自旋2",
j3="J自旋3",
l0="L自旋",
l1="L自旋1",
l2="L自旋2",
l3="L自旋3",
t0="T自旋",
t1="T自旋1",
t2="T自旋2",
t3="T自旋3",
o0="O型自旋",
o1="O型自旋1",
o2="O型自旋2",
o3="O型自旋3",
i0="I自旋",
i1="I自旋1",
i2="I自旋2",
i3="I自旋3",
mini="迷你",
b2b="商对商",
b3b="B3B",
pc="个人电脑",
music="背景音乐",
music="音乐培训室",
},
login={
title="登录",

View File

@@ -1,44 +1,123 @@
local gc=love.graphics
local gc_push,gc_pop=gc.push,gc.pop
local gc_translate,gc_scale=gc.translate,gc.scale
local gc_setColor,gc_setLineWidth=gc.setColor,gc.setLineWidth
local gc_rectangle,gc_circle=gc.rectangle,gc.circle
local int,max=math.floor,math.max
local scene={}
local mini,b2b,b3b,pc
local pad={x=140,y=65,k=1,page=1,
func={'page1','page2','page3','page4','page5','page6','play','stop'},
funcTime={0,0,0,0,0,0,0,0},
time={
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
},
{
{{sfx='ready'}, {sfx='start'}, {}, {}, {sfx='move'}, {sfx='lock'}, {sfx='drop'}, {sfx='fall'},},
{{sfx='hold'}, {sfx='prehold'}, {}, {}, {sfx='clear_1'},{sfx='clear_2'},{sfx='clear_3'},{sfx='clear_4'}},
{{sfx='prerotate'}, {sfx='rotate'}, {sfx='rotatekick'}, {}, {voc='single'}, {voc='double'}, {voc='triple'}, {voc='techrash'}},
{{sfx='finesseError'},{sfx='finesseError_long'},{sfx='drop_cancel'},{}, {sfx='spin_0'}, {sfx='spin_1'}, {sfx='spin_2'}, {sfx='spin_3'}},
{{sfx='ren_1'}, {sfx='ren_2'}, {sfx='ren_3'}, {sfx='ren_4'}, {}, {sfx='warning'},{sfx='reach'}, {sfx='pc'}},
{{sfx='ren_5'}, {sfx='ren_6'}, {sfx='ren_7'}, {sfx='ren_8'}, {}, {sfx='collect'},{sfx='emit'}, {sfx='blip_1'}},
{{sfx='ren_9'}, {sfx='ren_10'}, {sfx='ren_11'}, {sfx='ren_mega'},{voc='win'}, {voc='lose'}, {sfx='win'}, {sfx='fail'}},
{{sfx='spawn_1'}, {sfx='spawn_2'}, {sfx='spawn_3'}, {sfx='spawn_4'}, {sfx='spawn_5'},{sfx='spawn_6'},{sfx='spawn_7'},{}},
},
{
{{voc='mini'}, {voc='b2b'}, {voc='b3b'}, {voc='perfect_clear'},{voc='half_clear'},{}, {}, {}},
{{voc='zspin'}, {voc='sspin'}, {voc='jspin'}, {voc='lspin'}, {voc='tspin'}, {voc='ospin'}, {voc='ispin'},{}},
{{voc='pspin'}, {voc='qspin'}, {voc='fspin'}, {voc='espin'}, {voc='uspin'}, {voc='vspin'}, {voc='wspin'},{voc='xspin'}},
{{voc='rspin'}, {voc='yspin'}, {voc='nspin'}, {voc='hspin'}, {voc='cspin'}, {}, {}, {}},
{{voc='single'}, {voc='double'},{voc='triple'},{voc='techrash'}, {voc='pentacrash'},{voc='hexacrash'},{}, {}},
{{voc='win'}, {voc='lose'}, {}, {}, {}, {}, {}, {}},
{{voc='welcome'},{voc='bye'}, {}, {}, {}, {}, {}, {}},
{{}, {}, {}, {}, {}, {}, {}, {}},
},
{
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
},
{
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
},
{
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
},
{
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
{{},{},{},{},{},{},{},{}},
},
}
function scene.sceneInit()
mini,b2b,b3b,pc=false,false,false,false
function scene.mouseDown(x,y)
scene.touchDown(x,y)
end
function scene.touchDown(x,y)
x,y=int((x-pad.x)*pad.k/80),int((y-pad.y)*pad.k/80+1)
print(x,y)
if y>=1 and y<=8 then
if x==0 then
local k=pad.func[y]
if k:find('page')then
pad.page=tonumber(k:sub(5))
elseif k=="play"then
BGM.seek(0)
BGM.play(BGM.nowPlay)
elseif k=="stop"then
BGM.stop()
end
pad.funcTime[y]=1
elseif x>=1 and x<=8 then
local k=pad[pad.page][y][x]
if k.sfx then
SFX.play(k.sfx)
elseif k.voc then
VOC.play(k.voc)
end
pad.time[y][x]=1
end
end
end
local blockName={'z','s','j','l','t','o','i'}
local lineCount={'single','double','triple','techrash'}
function scene.keyDown(key,isRep)
if isRep then return end
if key=="1"then
mini=not mini
elseif key=="2"then
b2b=not b2b
if b2b then b3b=false end
elseif key=="3"then
b3b=not b3b
if b3b then b2b=false end
elseif key=="4"then
pc=not pc
elseif type(key)=='number'then
local CHN=VOC.getFreeChannel()
if b2b then
VOC.play('b2b',CHN)
elseif b3b then
VOC.play('b3b',CHN)
end
if mini then
VOC.play('mini',CHN)
end
if key>=10 then
VOC.play(blockName[math.floor(key/10)].."spin",CHN)
end
if lineCount[key%10]then
VOC.play(lineCount[key%10],CHN)
end
if pc then
VOC.play('perfect_clear',CHN)
end
elseif key=="tab"then
SCN.swapTo('music','none')
elseif key=="escape"then
@@ -46,75 +125,67 @@ function scene.keyDown(key,isRep)
end
end
function scene.update(dt)
for y=1,8 do
if pad.funcTime[y]>0 then
pad.funcTime[y]=max(pad.funcTime[y]-dt*2,0)
end
end
for y=1,8 do
for x=1,8 do
if pad.time[y][x]>0 then
pad.time[y][x]=max(pad.time[y][x]-dt*4,0)
end
end
end
end
function scene.draw()
local white=COLOR.Z
gc_push('transform')
gc_translate(pad.x,pad.y)
gc_scale(pad.k)
gc_setLineWidth(2)
--Pad frame
gc_setColor(white)
gc_rectangle('line',-3,-3,726,646,2)
--Buttons
for y=1,8 do
gc_setColor(white)
gc_circle('line',40,(y-1)*80+40,34)
if pad.funcTime[y]>0 then
gc_setColor(1,1,1,pad.funcTime[y]*.7)
gc_circle('fill',40,(y-1)*80+40,34)
end
end
for y=1,8 do
for x=1,8 do
gc_setColor(white)
gc_rectangle('line',x*80+2,(y-1)*80+2,76,76,5)
local k=pad[pad.page][y][x]
if k.sfx then
gc_rectangle('line',x*80+40-10,(y-1)*80+40-10,20,20,2)
elseif k.voc then
gc_circle('line',x*80+40,(y-1)*80+40,6)
end
if pad.time[y][x]>0 then
gc_setColor(1,1,1,pad.time[y][x]*.7)
gc_rectangle('fill',x*80+2,(y-1)*80+2,76,76,5)
end
end
end
gc_pop()
end
scene.widgetList={
WIDGET.newText{name="title", x=30, y=15,font=70,align='L'},
WIDGET.newSlider{name="sfx", x=510, y=60,w=330,font=35,change=function()SFX.play('blip_1')end,disp=SETval('sfx'),sound=false,code=SETsto('sfx')},
WIDGET.newSlider{name="voc", x=510, y=120,w=330,font=35,change=function()VOC.play('test')end,disp=SETval('voc'),sound=false,code=SETsto('voc')},
WIDGET.newKey{name="move", x=110, y=140,w=160,h=50,font=20,sound=false,code=function()SFX.play('move')end},
WIDGET.newKey{name="lock", x=110, y=205,w=160,h=50,font=20,sound=false,code=function()SFX.play('lock')end},
WIDGET.newKey{name="drop", x=110, y=270,w=160,h=50,font=20,sound=false,code=function()SFX.play('drop')end},
WIDGET.newKey{name="fall", x=110, y=335,w=160,h=50,font=20,sound=false,code=function()SFX.play('fall')end},
WIDGET.newKey{name="rotate", x=110, y=400,w=160,h=50,font=20,sound=false,code=function()SFX.play('rotate')end},
WIDGET.newKey{name="rotatekick",x=110, y=465,w=160,h=50,font=20,sound=false,code=function()SFX.play('rotatekick')end},
WIDGET.newKey{name="hold", x=110, y=530,w=160,h=50,font=20,sound=false,code=function()SFX.play('hold')end},
WIDGET.newKey{name="prerotate", x=110, y=595,w=160,h=50,font=20,sound=false,code=function()SFX.play('prerotate')end},
WIDGET.newKey{name="prehold", x=110, y=660,w=160,h=50,font=20,sound=false,code=function()SFX.play('prehold')end},
WIDGET.newKey{name="clear1", x=280, y=140,w=160,h=50,font=20,sound=false,code=function()SFX.play('clear_1')end},
WIDGET.newKey{name="clear2", x=280, y=205,w=160,h=50,font=20,sound=false,code=function()SFX.play('clear_2')end},
WIDGET.newKey{name="clear3", x=280, y=270,w=160,h=50,font=20,sound=false,code=function()SFX.play('clear_3')end},
WIDGET.newKey{name="clear4", x=280, y=335,w=160,h=50,font=20,sound=false,code=function()SFX.play('clear_4')end},
WIDGET.newKey{name="spin0", x=280, y=400,w=160,h=50,font=20,sound=false,code=function()SFX.play('spin_0')end},
WIDGET.newKey{name="spin1", x=280, y=465,w=160,h=50,font=20,sound=false,code=function()SFX.play('spin_1')end},
WIDGET.newKey{name="spin2", x=280, y=530,w=160,h=50,font=20,sound=false,code=function()SFX.play('spin_2')end},
WIDGET.newKey{name="spin3", x=280, y=595,w=160,h=50,font=20,sound=false,code=function()SFX.play('spin_3')end},
WIDGET.newKey{name="_pc", x=280, y=660,w=160,h=50,font=20,sound=false,code=function()SFX.play('clear')end},
WIDGET.newKey{name="_1", x=970, y=75,w=140,h=50,font=20,sound=false,code=pressKey(1)},
WIDGET.newKey{name="_2", x=1130, y=75,w=140,h=50,font=20,sound=false,code=pressKey(2)},
WIDGET.newKey{name="_3", x=970, y=140,w=140,h=50,font=20,sound=false,code=pressKey(3)},
WIDGET.newKey{name="_4", x=1130, y=140,w=140,h=50,font=20,sound=false,code=pressKey(4)},
WIDGET.newKey{name="z0", x=650, y=205,w=140,h=50,font=20,sound=false,code=pressKey(10)},
WIDGET.newKey{name="z1", x=650, y=270,w=140,h=50,font=20,sound=false,code=pressKey(11)},
WIDGET.newKey{name="z2", x=650, y=335,w=140,h=50,font=20,sound=false,code=pressKey(12)},
WIDGET.newKey{name="z3", x=650, y=400,w=140,h=50,font=20,sound=false,code=pressKey(13)},
WIDGET.newKey{name="t0", x=650, y=465,w=140,h=50,font=20,sound=false,code=pressKey(50)},
WIDGET.newKey{name="t1", x=650, y=530,w=140,h=50,font=20,sound=false,code=pressKey(51)},
WIDGET.newKey{name="t2", x=650, y=595,w=140,h=50,font=20,sound=false,code=pressKey(52)},
WIDGET.newKey{name="t3", x=650, y=660,w=140,h=50,font=20,sound=false,code=pressKey(53)},
WIDGET.newKey{name="s0", x=810, y=205,w=140,h=50,font=20,sound=false,code=pressKey(20)},
WIDGET.newKey{name="s1", x=810, y=270,w=140,h=50,font=20,sound=false,code=pressKey(21)},
WIDGET.newKey{name="s2", x=810, y=335,w=140,h=50,font=20,sound=false,code=pressKey(22)},
WIDGET.newKey{name="s3", x=810, y=400,w=140,h=50,font=20,sound=false,code=pressKey(23)},
WIDGET.newKey{name="o0", x=810, y=465,w=140,h=50,font=20,sound=false,code=pressKey(60)},
WIDGET.newKey{name="o1", x=810, y=530,w=140,h=50,font=20,sound=false,code=pressKey(61)},
WIDGET.newKey{name="o2", x=810, y=595,w=140,h=50,font=20,sound=false,code=pressKey(62)},
WIDGET.newKey{name="o3", x=810, y=660,w=140,h=50,font=20,sound=false,code=pressKey(63)},
WIDGET.newKey{name="j0", x=970, y=205,w=140,h=50,font=20,sound=false,code=pressKey(30)},
WIDGET.newKey{name="j1", x=970, y=270,w=140,h=50,font=20,sound=false,code=pressKey(31)},
WIDGET.newKey{name="j2", x=970, y=335,w=140,h=50,font=20,sound=false,code=pressKey(32)},
WIDGET.newKey{name="j3", x=970, y=400,w=140,h=50,font=20,sound=false,code=pressKey(33)},
WIDGET.newKey{name="i0", x=970, y=465,w=140,h=50,font=20,sound=false,code=pressKey(70)},
WIDGET.newKey{name="i1", x=970, y=530,w=140,h=50,font=20,sound=false,code=pressKey(71)},
WIDGET.newKey{name="i2", x=970, y=595,w=140,h=50,font=20,sound=false,code=pressKey(72)},
WIDGET.newKey{name="i3", x=970, y=660,w=140,h=50,font=20,sound=false,code=pressKey(73)},
WIDGET.newKey{name="l0", x=1130, y=205,w=140,h=50,font=20,sound=false,code=pressKey(40)},
WIDGET.newKey{name="l1", x=1130, y=270,w=140,h=50,font=20,sound=false,code=pressKey(41)},
WIDGET.newKey{name="l2", x=1130, y=335,w=140,h=50,font=20,sound=false,code=pressKey(42)},
WIDGET.newKey{name="l3", x=1130, y=400,w=140,h=50,font=20,sound=false,code=pressKey(43)},
WIDGET.newSwitch{name="mini", x=515, y=465,font=25,disp=function()return mini end,sound=false,code=pressKey"1"},
WIDGET.newSwitch{name="b2b", x=515, y=530,font=25,disp=function()return b2b end,sound=false,code=pressKey"2"},
WIDGET.newSwitch{name="b3b", x=515, y=595,font=25,disp=function()return b3b end,sound=false,code=pressKey"3"},
WIDGET.newSwitch{name="pc", x=515, y=660,font=25,disp=function()return pc end,sound=false,code=pressKey"4"},
WIDGET.newButton{name="music", x=1140, y=540,w=170,h=80,font=40,code=pressKey"tab"},
WIDGET.newButton{name="back", x=1140, y=640,w=170,h=80,fText=TEXTURE.back,code=backScene},
WIDGET.newText{name="title", x=640, y=-5, font=50},
WIDGET.newSlider{name="bgm", x=1000,y=80, lim=130,w=250,disp=SETval('bgm'),code=function(v)SETTING.bgm=v BGM.freshVolume()end},
WIDGET.newSlider{name="sfx", x=1000,y=150,lim=130,w=250,disp=SETval('sfx'),code=SETsto('sfx'),change=function()SFX.play('blip_1')end},
WIDGET.newSlider{name="voc", x=1000,y=220,lim=130,w=250,disp=SETval('voc'),code=SETsto('voc'),change=function()VOC.play('test')end},
WIDGET.newButton{name="music",x=1140,y=540,w=170,h=80,font=40,code=pressKey"tab"},
WIDGET.newButton{name="back", x=1140,y=640,w=170,h=80,fText=TEXTURE.back,code=backScene},
}
return scene