多语音包系统实装,等待naki语音

This commit is contained in:
MrZ626
2020-11-03 21:55:41 +08:00
parent 477d27f264
commit c688fef3f6
6 changed files with 28 additions and 22 deletions

View File

@@ -242,6 +242,8 @@ return{
bgm="BGM",
vib="Vibration",
voc="Voice",
cv="Voice Pack",
apply="Apply",
},
setting_control={
title="Control Settings",

View File

@@ -86,7 +86,7 @@ return{
spawn="出块",
bgm="",
vib="嗡嗡",
voc="语音",
cv="",
},
setting_control={
title="改控制",

View File

@@ -245,6 +245,8 @@ return{
bgm="音乐",
vib="振动",
voc="语音",
cv="语音包",
apply="应用",
},
setting_control={
title="控制设置",

View File

@@ -10,28 +10,25 @@ VOC.name={
"perfect_clear","half_clear",
"win","lose","bye",
"test","happy","doubt","sad","egg",
"welcome_voc"
"welcome_voc",
}
VOC.list={}
local function loadVoiceFile(N,vocName)
local fileName="VOICE/"..vocName..".ogg"
local fileName="VOICE/"..SETTING.cv.."/"..vocName..".ogg"
if love.filesystem.getInfo(fileName)then
bank[vocName]={love.audio.newSource(fileName,"static")}
table.insert(VOC.list[N],vocName)
return true
end
end
function VOC.loadOne(_)
local N=VOC.name[_]
function VOC.loadOne(name)
local N=VOC.name[name]
VOC.list[N]={}
local i=1
while true do
if not loadVoiceFile(N,N.."_"..i)then
break
end
i=i+1
end
local i=0
repeat i=i+1 until not loadVoiceFile(N,N.."_"..i)
if i==1 then
if not loadVoiceFile(N,N)then
LOG.print("No VOICE file: "..N,5,color.orange)
@@ -43,6 +40,7 @@ function VOC.loadAll()
for i=1,#VOC.name do
VOC.loadOne(i)
end
collectgarbage()
end
function VOC.getFreeChannel()

View File

@@ -44,6 +44,7 @@ SETTING={
stereo=.6,
vib=0,
voc=0,
cv="miya",
--Virtualkey
VKSFX=.2,--SFX volume

View File

@@ -6,8 +6,9 @@ local rnd=math.random
function sceneInit.setting_sound()
sceneTemp={
last=0,--Last sound time
last=0,--Last touch time
jump=0,--Animation timer(10 to 0)
cv=SETTING.cv,
}
BG.set("space")
end
@@ -55,14 +56,16 @@ end
WIDGET.init("setting_sound",{
WIDGET.newText({name="title", x=640,y=15,font=80}),
WIDGET.newButton({name="game", x=200, y=80,w=240,h=80,color="lCyan", font=35,code=WIDGET.lnk.swapScene("setting_game","swipeR")}),
WIDGET.newButton({name="graphic", x=1080, y=80,w=240,h=80,color="lCyan", font=35,code=WIDGET.lnk.swapScene("setting_video","swipeL")}),
WIDGET.newButton({name="game", x=200, y=80,w=240,h=80,color="lCyan",font=35,code=WIDGET.lnk.swapScene("setting_game","swipeR")}),
WIDGET.newButton({name="graphic", x=1080, y=80,w=240,h=80,color="lCyan",font=35,code=WIDGET.lnk.swapScene("setting_video","swipeL")}),
WIDGET.newSlider({name="sfx", x=180, y=200,w=400, font=35,change=function()SFX.play("blip_1")end, disp=WIDGET.lnk.SETval("sfx"), code=WIDGET.lnk.SETsto("sfx")}),
WIDGET.newSlider({name="stereo", x=180, y=500,w=400, font=35,change=function()SFX.play("move",1,-1)SFX.play("lock",1,1)end,disp=WIDGET.lnk.SETval("stereo"),code=WIDGET.lnk.SETsto("stereo"),hide=function()return SETTING.sfx==0 end}),
WIDGET.newSlider({name="spawn", x=180, y=300,w=400, font=30,change=function()SFX.fplay("spawn_"..math.random(7),SETTING.spawn)end,disp=WIDGET.lnk.SETval("spawn"), code=WIDGET.lnk.SETsto("spawn")}),
WIDGET.newSlider({name="bgm", x=180, y=400,w=400, font=35,change=function()BGM.freshVolume()end, disp=WIDGET.lnk.SETval("bgm"), code=WIDGET.lnk.SETsto("bgm")}),
WIDGET.newSlider({name="vib", x=750, y=200,w=400, unit=5, font=25,change=function()VIB(2)end, disp=WIDGET.lnk.SETval("vib"), code=WIDGET.lnk.SETsto("vib")}),
WIDGET.newSlider({name="voc", x=750, y=300,w=400, font=35,change=function()VOC.play("test")end, disp=WIDGET.lnk.SETval("voc"), code=WIDGET.lnk.SETsto("voc")}),
WIDGET.newButton({name="back", x=1140, y=640,w=170,h=80, font=40,code=WIDGET.lnk.BACK}),
WIDGET.newSlider({name="sfx", x=180, y=200,w=400, font=35,change=function()SFX.play("blip_1")end, disp=WIDGET.lnk.SETval("sfx"),code=WIDGET.lnk.SETsto("sfx")}),
WIDGET.newSlider({name="stereo", x=180, y=500,w=400, font=35,change=function()SFX.play("move",1,-1)SFX.play("lock",1,1)end,disp=WIDGET.lnk.SETval("stereo"),code=WIDGET.lnk.SETsto("stereo"),hide=function()return SETTING.sfx==0 end}),
WIDGET.newSlider({name="spawn", x=180, y=300,w=400, font=30,change=function()SFX.fplay("spawn_"..math.random(7),SETTING.spawn)end,disp=WIDGET.lnk.SETval("spawn"),code=WIDGET.lnk.SETsto("spawn")}),
WIDGET.newSlider({name="bgm", x=180, y=400,w=400, font=35,change=function()BGM.freshVolume()end, disp=WIDGET.lnk.SETval("bgm"),code=WIDGET.lnk.SETsto("bgm")}),
WIDGET.newSlider({name="vib", x=750, y=200,w=400,unit=5, font=25,change=function()VIB(2)end, disp=WIDGET.lnk.SETval("vib"),code=WIDGET.lnk.SETsto("vib")}),
WIDGET.newSlider({name="voc", x=750, y=300,w=400, font=35,change=function()VOC.play("test")end, disp=WIDGET.lnk.SETval("voc"),code=WIDGET.lnk.SETsto("voc")}),
WIDGET.newSelector({name="cv", x=1100, y=380,w=200, list={"miya"}, disp=WIDGET.lnk.STPval("cv"),code=WIDGET.lnk.STPsto("cv")}),
WIDGET.newButton({name="apply", x=1100, y=460,w=180,h=80, code=function()SETTING.cv=sceneTemp.cv VOC.loadAll()end,hide=function()return SETTING.cv==sceneTemp.cv end}),
WIDGET.newButton({name="back", x=1140, y=640,w=170,h=80, font=40,code=WIDGET.lnk.BACK}),
})