From 6ccdee2a5342720c70027e894fd03c8607325c4c Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Wed, 15 Dec 2021 11:28:25 +0800 Subject: [PATCH] =?UTF-8?q?bgm=E6=A8=A1=E5=9D=97=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=9E=AC=E9=97=B4=E5=BC=80/=E5=85=B3=E5=8A=9F=E8=83=BD=20?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=E4=B8=B2=E6=89=A9=E5=B1=95=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E4=B8=8D=E5=86=8D=E7=9B=B4=E6=8E=A5=E4=BF=AE=E6=94=B9=E5=85=A8?= =?UTF-8?q?=E5=B1=80=E7=9A=84string=EF=BC=8C=E9=9C=80=E8=A6=81=E5=A4=96?= =?UTF-8?q?=E9=83=A8=E8=87=AA=E5=B7=B1=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Zframework/bgm.lua | 28 ++++++++++++++++++++++------ Zframework/file.lua | 12 ++++++------ Zframework/font.lua | 2 +- Zframework/stringExtend.lua | 4 ++-- main.lua | 2 ++ 5 files changed, 33 insertions(+), 15 deletions(-) diff --git a/Zframework/bgm.lua b/Zframework/bgm.lua index a3864894..d13b2f95 100644 --- a/Zframework/bgm.lua +++ b/Zframework/bgm.lua @@ -107,8 +107,9 @@ function BGM.init(list) LOG("No BGM: "..name,5) end end - function BGM.play(name) + function BGM.play(name,args) name=name or BGM.default + args=args or"" if not _tryLoad(name)then return end if volume==0 then BGM.nowPlay=name @@ -118,14 +119,24 @@ function BGM.init(list) if name and SourceObjList[name].source then if BGM.nowPlay~=name then if BGM.nowPlay then - TASK.new(task_fadeOut,BGM.playing) + if not STRING.sArg(args,'-so')then + TASK.new(task_fadeOut,BGM.playing) + else + BGM.playing:pause() + end end TASK.removeTask_iterate(check_curFadeOut,task_fadeOut,SourceObjList[name].source) TASK.removeTask_code(task_fadeIn) - TASK.new(task_fadeIn,SourceObjList[name].source) BGM.nowPlay=name BGM.playing=SourceObjList[name].source + if not STRING.sArg(args,'-si')then + BGM.playing:setVolume(0) + TASK.new(task_fadeIn,BGM.playing) + else + BGM.playing:setVolume(volume) + BGM.playing:play() + end BGM.lastPlayed=BGM.nowPlay BGM.playing:seek(0) BGM.playing:play() @@ -148,10 +159,15 @@ function BGM.init(list) BGM.playing:play() end end - function BGM.stop() + function BGM.stop(args) + args=args or"" TASK.removeTask_code(task_fadeIn) - if BGM.nowPlay then - TASK.new(task_fadeOut,BGM.playing) + if not STRING.sArg(args,'-s')then + if BGM.nowPlay then + TASK.new(task_fadeOut,BGM.playing) + end + else + BGM.playing:pause() end BGM.nowPlay,BGM.playing=nil end diff --git a/Zframework/file.lua b/Zframework/file.lua index 2a6f2334..83b847c5 100644 --- a/Zframework/file.lua +++ b/Zframework/file.lua @@ -7,10 +7,10 @@ function FILE.load(name,args) assert(F:open'r','open error') local s=F:read()F:close() local mode= - args:sArg'-luaon'and'luaon'or - args:sArg'-lua'and'lua'or - args:sArg'-json'and'json'or - args:sArg'-string'and'string'or + STRING.sArg(args,'-luaon')and'luaon'or + STRING.sArg(args,'-lua')and'lua'or + STRING.sArg(args,'-json')and'json'or + STRING.sArg(args,'-string')and'string'or s:sub(1,6)=='return{'and'luaon'or (s:sub(1,1)=='['and s:sub(-1)==']'or s:sub(1,1)=='{'and s:sub(-1)=='}')and'json'or 'string' @@ -48,12 +48,12 @@ function FILE.load(name,args) end function FILE.save(data,name,args) if not args then args=''end - if args:sArg'-d'and fs.getInfo(name)then + if STRING.sArg(args,'-d')and fs.getInfo(name)then error('duplicate') end if type(data)=='table'then - if args:sArg'-luaon'then + if STRING.sArg(args,'-luaon')then data=TABLE.dump(data) if not data then error('encode error') diff --git a/Zframework/font.lua b/Zframework/font.lua index a5e52edf..78238bd6 100644 --- a/Zframework/font.lua +++ b/Zframework/font.lua @@ -18,7 +18,7 @@ function FONT.rawset(s) end function FONT.load(fonts) for name,path in next,fonts do - assert(love.filesystem.getInfo(path),("Font file $1($2) not exist!"):repD(name,path)) + assert(love.filesystem.getInfo(path),STRING.repD("Font file $1($2) not exist!",name,path)) fontFiles[name]=love.filesystem.newFile(path) fontCache[name]={} end diff --git a/Zframework/stringExtend.lua b/Zframework/stringExtend.lua index fbb62689..c01081f9 100644 --- a/Zframework/stringExtend.lua +++ b/Zframework/stringExtend.lua @@ -6,7 +6,7 @@ local find,sub,gsub,upper=string.find,string.sub,string.gsub,string.upper local char,byte=string.char,string.byte --"Replace dollars", replace all $n with ... -function string.repD(str,...) +function STRING.repD(str,...) local l={...} for i=#l,1,-1 do str=gsub(str,'$'..i,l[i]) @@ -15,7 +15,7 @@ function string.repD(str,...) end --"Scan arg", scan if str has the arg (format of str is like "-json -q", arg is like "-q") -function string.sArg(str,switch) +function STRING.sArg(str,switch) if find(str.." ",switch.." ")then return true end diff --git a/main.lua b/main.lua index 107802c0..71e23307 100644 --- a/main.lua +++ b/main.lua @@ -71,6 +71,8 @@ mStr=GC.mStr mText=GC.simpX mDraw=GC.draw Snd=SFX.playSample +string.repD=STRING.repD +string.sArg=STRING.sArg --Delete all naked files (from too old version) FILE.clear('')