From 47ba8fe0af8cc96d06b885095b284dd4dd770c2e Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Mon, 4 Oct 2021 01:09:21 +0800 Subject: [PATCH] =?UTF-8?q?Zframework=E6=94=AF=E6=8C=81=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89onQuit=E8=A7=A6=E5=8F=91=E7=9A=84=E5=87=BD=E6=95=B0?= =?UTF-8?q?=EF=BC=8CdestroyPlayers=E7=A7=BB=E5=87=BA=E6=A1=86=E6=9E=B6?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Zframework/init.lua | 5 ++-- main.lua | 61 ++++++++++++++++++++++++--------------------- 2 files changed, 35 insertions(+), 31 deletions(-) diff --git a/Zframework/init.lua b/Zframework/init.lua index 39361db1..86654e4b 100644 --- a/Zframework/init.lua +++ b/Zframework/init.lua @@ -489,7 +489,6 @@ function love.errorhandler(msg) love.event.pump() for E,a,b in love.event.poll()do if E=='quit'or a=='escape'then - destroyPlayers() return true elseif E=='resize'then SCR.resize(a,b) @@ -559,6 +558,7 @@ local function drawCursor(_,x,y) gc_circle(ms.isDown(1)and'fill'or'line',x,y,6) end local function showPowerInfo()return true end +local onQuit=NULL function love.run() local love=love @@ -602,7 +602,7 @@ function love.run() if love[N]then love[N](a,b,c,d,e) elseif N=='quit'then - destroyPlayers() + onQuit() return a or true end end @@ -757,4 +757,5 @@ function Z.setIfPowerInfo(func)showPowerInfo=func end --Warning: color and line width is uncertain value, set it in the function. function Z.setCursor(func)drawCursor=func end +function Z.setOnQuit(func)onQuit=type(func)=='function'and func or NULL end return Z diff --git a/main.lua b/main.lua index b0c8c06e..7878626f 100644 --- a/main.lua +++ b/main.lua @@ -44,35 +44,6 @@ end --Load modules Z=require'Zframework' -do - local normImg=GC.DO{16,16, - {'fCirc',8,8,4}, - {'setCL',1,1,1,.7}, - {'fCirc',8,8,6}, - } - local holdImg=GC.DO{16,16, - {'setLW',2}, - {'dCirc',8,8,7}, - {'fCirc',8,8,3}, - } - local min,int,abs=math.min,math.floor,math.abs - local gc_setColor,gc_draw=love.graphics.setColor,love.graphics.draw - local ms=love.mouse - Z.setCursor(function(time,x,y) - if not SETTING.sysCursor then - local R=int((time+1)/2)%7+1 - _=minoColor[SETTING.skin[R]] - gc_setColor(_[1],_[2],_[3],min(abs(1-time%2),.3)) - _=DSCP[R][0] - gc_draw(TEXTURE.miniBlock[R],x,y,time%3.14159265359*4,16,16,_[2]+.5,#BLOCKS[R][0]-_[1]-.5) - gc_setColor(1,1,1) - gc_draw(ms.isDown(1)and holdImg or normImg,x,y,nil,nil,nil,8,8) - end - end) -end -Z.setIfPowerInfo(function() - return SETTING.powerInfo and LOADED -end) FONT.init('parts/fonts/puhui.ttf') setFont=FONT.set @@ -120,6 +91,38 @@ PLY= require'parts.player' netPLY= require'parts.netPlayer' MODES= require'parts.modes' +--Init Zframework +do + local normImg=GC.DO{16,16, + {'fCirc',8,8,4}, + {'setCL',1,1,1,.7}, + {'fCirc',8,8,6}, + } + local holdImg=GC.DO{16,16, + {'setLW',2}, + {'dCirc',8,8,7}, + {'fCirc',8,8,3}, + } + local min,int,abs=math.min,math.floor,math.abs + local gc_setColor,gc_draw=love.graphics.setColor,love.graphics.draw + local ms=love.mouse + Z.setCursor(function(time,x,y) + if not SETTING.sysCursor then + local R=int((time+1)/2)%7+1 + _=minoColor[SETTING.skin[R]] + gc_setColor(_[1],_[2],_[3],min(abs(1-time%2),.3)) + _=DSCP[R][0] + gc_draw(TEXTURE.miniBlock[R],x,y,time%3.14159265359*4,16,16,_[2]+.5,#BLOCKS[R][0]-_[1]-.5) + gc_setColor(1,1,1) + gc_draw(ms.isDown(1)and holdImg or normImg,x,y,nil,nil,nil,8,8) + end + end) +end +Z.setIfPowerInfo(function() + return SETTING.powerInfo and LOADED +end) +Z.setOnQuit(destroyPlayers) + --Load settings and statistics TABLE.cover (FILE.load('conf/user')or{},USER) TABLE.cover (FILE.load('conf/unlock')or{},RANKS)