From e6cea306c1878b6687bd0376c308bc8a42c21cd2 Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Thu, 11 Feb 2021 01:25:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E7=90=86=E4=BB=A3=E7=A0=81=EF=BC=8C?= =?UTF-8?q?=E7=BD=91=E6=88=98=E5=92=8C=E6=99=AE=E9=80=9A=E6=B8=B8=E6=88=8F?= =?UTF-8?q?=E5=A4=8D=E7=94=A8=E5=87=A0=E4=B8=AA=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Zframework/scene.lua | 2 +- parts/gametoolfunc.lua | 59 +++++++++++++++++++++++++++++++++-- parts/scenes/net_game.lua | 65 +++++---------------------------------- parts/scenes/play.lua | 57 +++------------------------------- 4 files changed, 70 insertions(+), 113 deletions(-) diff --git a/Zframework/scene.lua b/Zframework/scene.lua index 4ca98a02..a8a31478 100644 --- a/Zframework/scene.lua +++ b/Zframework/scene.lua @@ -132,10 +132,10 @@ local swap={ }--Scene swapping animations function SCN.swapTo(tar,style)--Parallel scene swapping, cannot back if scenes[tar]then - local S=SCN.stat if not SCN.swapping and tar~=SCN.cur then if not style then style="fade"end SCN.swapping=true + local S=SCN.stat S.tar,S.style=tar,style S.time,S.mid,S.draw=unpack(swap[style]) end diff --git a/parts/gametoolfunc.lua b/parts/gametoolfunc.lua index 6c24a272..221ce1ad 100644 --- a/parts/gametoolfunc.lua +++ b/parts/gametoolfunc.lua @@ -5,7 +5,7 @@ local fs=love.filesystem local gc=love.graphics local gc_setColor,gc_circle=gc.setColor,gc.circle -local int,rnd=math.floor,math.random +local max,int,rnd=math.max,math.floor,math.random local sub=string.sub local char,byte=string.char,string.byte local ins,rem=table.insert,table.remove @@ -772,6 +772,58 @@ function gameStart()--Call when countdown finish (GAME.frame==180) P:popNext() end end +function checkStart() + if GAME.frame<=180 then + if GAME.frame==180 then + gameStart() + elseif GAME.frame==60 or GAME.frame==120 then + SFX.play("ready") + end + for p=1,#PLAYERS do + local P=PLAYERS[p] + if P.movDir~=0 then + if P.moving0 then + if y>height then + height=y + end + break + end + end + end + GAME.warnLVL0=math.log(height-15+P1.atkBuffer.sum*.8) + end + _=GAME.warnLVL + if _0 then + _=max(_-.026,0) + end + GAME.warnLVL=_ + elseif GAME.warnLVL>0 then + GAME.warnLVL=max(GAME.warnLVL-.026,0) + end + if GAME.warnLVL>1.126 and GAME.frame%30==0 then + SFX.fplay("warning",SETTING.sfx_warn) + end +end --[[ Table data format: @@ -1033,10 +1085,11 @@ function TICK_wsRead() return end elseif readErr then - wsWrite("/quit") WSCONN=false LOG.print(text.wsError..tostring(readErr),"warn") - SCN.back() + while #SCN.stack>4 do + SCN.pop() + end return end end diff --git a/parts/scenes/net_game.lua b/parts/scenes/net_game.lua index 121c7fc1..6382a1ac 100644 --- a/parts/scenes/net_game.lua +++ b/parts/scenes/net_game.lua @@ -4,7 +4,7 @@ local tc=love.touch local playerData local ins,rem=table.insert,table.remove -local max,sin=math.max,math.sin +local sin=math.sin local SCR=SCR local VK=virtualkey @@ -261,14 +261,8 @@ end function scene.update(dt) local _ - local P1=PLAYERS[1] local GAME=GAME - touchMoveLastFrame=false - - --Update virtualkey animation - updateVirtualkey() - if not playing then heartBeatTimer=heartBeatTimer+dt if heartBeatTimer>42 then @@ -278,9 +272,11 @@ function scene.update(dt) return end - GAME.frame=GAME.frame+1 + touchMoveLastFrame=false + updateVirtualkey() - if GAME.frame-lastUpstreamTime>10 then + GAME.frame=GAME.frame+1 + if GAME.frame-lastUpstreamTime>8 then local stream stream,upstreamProgress=dumpRecording(GAME.rep,upstreamProgress) if #stream>0 then @@ -289,25 +285,8 @@ function scene.update(dt) lastUpstreamTime=PLAYERS[1].alive and GAME.frame or 1e99 end - --Counting,include pre-das,directy RETURN,or restart counting - if GAME.frame<180 then - if GAME.frame==179 then - gameStart() - elseif GAME.frame==60 or GAME.frame==120 then - SFX.play("ready") - end - for p=1,#PLAYERS do - local P=PLAYERS[p] - if P.movDir~=0 then - if P.moving0 then - if y>height then - height=y - end - break - end - end - end - GAME.warnLVL0=math.log(height-15+P1.atkBuffer.sum*.8) - end - _=GAME.warnLVL - if _0 then - _=max(_-.026,0) - end - GAME.warnLVL=_ - elseif GAME.warnLVL>0 then - GAME.warnLVL=max(GAME.warnLVL-.026,0) - end - if GAME.warnLVL>1.126 and GAME.frame%30==0 then - SFX.fplay("warning",SETTING.sfx_warn) - end + checkWarning() end function scene.draw() diff --git a/parts/scenes/play.lua b/parts/scenes/play.lua index 4990d862..7fd29eee 100644 --- a/parts/scenes/play.lua +++ b/parts/scenes/play.lua @@ -2,7 +2,7 @@ local gc=love.graphics local gc_setColor=gc.setColor local tc=love.touch -local max,sin=math.max,math.sin +local sin=math.sin local SCR=SCR local VK=virtualkey @@ -127,12 +127,10 @@ function scene.update(dt) local _ local P1=PLAYERS[1] local GAME=GAME - GAME.frame=GAME.frame+1 touchMoveLastFrame=false - - --Update virtualkey animation updateVirtualkey() + GAME.frame=GAME.frame+1 --Replay if GAME.replaying then @@ -153,25 +151,8 @@ function scene.update(dt) GAME.replaying=_ end - --Counting,include pre-das,directy RETURN,or restart counting - if GAME.frame<=180 then - if GAME.frame==180 then - gameStart() - elseif GAME.frame==60 or GAME.frame==120 then - SFX.play("ready") - end - for p=1,#PLAYERS do - local P=PLAYERS[p] - if P.movDir~=0 then - if P.moving0 then - if y>height then - height=y - end - break - end - end - end - GAME.warnLVL0=math.log(height-15+P1.atkBuffer.sum*.8) - end - _=GAME.warnLVL - if _0 then - _=max(_-.026,0) - end - GAME.warnLVL=_ - elseif GAME.warnLVL>0 then - GAME.warnLVL=max(GAME.warnLVL-.026,0) - end - if GAME.warnLVL>1.126 and GAME.frame%30==0 then - SFX.fplay("warning",SETTING.sfx_warn) - end + checkWarning() end local function drawAtkPointer(x,y)