优化LOG库,LOG.print功能更多
This commit is contained in:
@@ -55,7 +55,7 @@ function BGM.play(s)
|
||||
elseif not s then
|
||||
return
|
||||
elseif not BGM.list[s]then
|
||||
LOG.print("Cannot find BGM: "..s,color.lRed)
|
||||
LOG.print("Cannot find BGM: "..s,color.red)
|
||||
return
|
||||
end
|
||||
if BGM.nowPlay~=s then
|
||||
|
||||
@@ -32,7 +32,6 @@ xOy=love.math.newTransform()
|
||||
joysticks={}
|
||||
|
||||
local devMode
|
||||
debugMesHistory={}
|
||||
|
||||
local infoCanvas=gc.newCanvas(108,27)
|
||||
local function updatePowerInfo()
|
||||
@@ -191,8 +190,8 @@ function love.keypressed(i)
|
||||
if devMode then
|
||||
if i=="f5"then
|
||||
DBP("DEBUG:")
|
||||
elseif i=="f3"then
|
||||
LOG.print("挂了.gif")
|
||||
elseif i=="f3"then LOG.print("挂了.gif")
|
||||
elseif i=="f4"then LOG.copy()
|
||||
elseif i=="f8"then devMode=nil LOG.print("DEBUG OFF",color.yellow)
|
||||
elseif i=="f9"then devMode=1 LOG.print("DEBUG 1",color.yellow)
|
||||
elseif i=="f10"then devMode=2 LOG.print("DEBUG 2",color.yellow)
|
||||
@@ -210,8 +209,6 @@ function love.keypressed(i)
|
||||
elseif i=="q"then
|
||||
local W=WIDGET.sel
|
||||
if W then W:printInfo()end
|
||||
elseif i=="f3"then
|
||||
assert(false,"Techmino:挂了")
|
||||
elseif i=="e"then
|
||||
for k,v in next,_G do
|
||||
DBP(k,v)
|
||||
@@ -263,7 +260,7 @@ function love.joystickremoved(JS)
|
||||
for i=1,#joysticks do
|
||||
if joysticks[i]==JS then
|
||||
rem(joysticks,i)
|
||||
LOG.print("Joystick removed")
|
||||
LOG.print("Joystick removed",color.yellow)
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
@@ -3,29 +3,32 @@ local int,min=math.floor,math.min
|
||||
local ins,rem=table.insert,table.remove
|
||||
|
||||
local debugMesList={}
|
||||
local debugMesHistory={
|
||||
"Version: "..gameVersion,
|
||||
os.date("Launched at %Y/%m/%d %H:%M"),
|
||||
}
|
||||
local debugMesFloat=0
|
||||
local LOG={}
|
||||
function LOG.print(text,clr)--use this for print for debug in-game
|
||||
if not clr then clr=color.white end
|
||||
ins(debugMesList,{text=text,r=clr[1],g=clr[2],b=clr[3],time=240})
|
||||
ins(debugMesHistory,SCN.cur..": "..tostring(text))
|
||||
end
|
||||
function LOG.update()
|
||||
if debugMesList[1]then
|
||||
for i=#debugMesList,1,-1 do
|
||||
local M=debugMesList[i]
|
||||
M.time=M.time-1
|
||||
if i==1 and M.time==0 then
|
||||
rem(debugMesList,i)
|
||||
if not debugMesList[1]then
|
||||
debugMesFloat=0
|
||||
else
|
||||
debugMesFloat=debugMesFloat+25
|
||||
if M.blink>0 then
|
||||
M.blink=M.blink-1
|
||||
else
|
||||
M.time=M.time-1
|
||||
if i==1 and M.time==0 then
|
||||
rem(debugMesList,i)
|
||||
if not debugMesList[1]then
|
||||
debugMesFloat=0
|
||||
else
|
||||
debugMesFloat=debugMesFloat+25
|
||||
end
|
||||
end
|
||||
end
|
||||
if debugMesFloat>0 then
|
||||
debugMesFloat=int(debugMesFloat*.9)
|
||||
end
|
||||
end
|
||||
if debugMesFloat>0 then
|
||||
debugMesFloat=int(debugMesFloat*.9)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -35,9 +38,38 @@ function LOG.draw()
|
||||
for i=1,#debugMesList do
|
||||
local M=debugMesList[i]
|
||||
local t=M.time
|
||||
gc.setColor(M.r,M.g,M.b,t>200 and int(t/3)%2 or min(t/26,1))
|
||||
gc.setColor(M.r,M.g,M.b,M.blink>0 and int(M.blink/3)%2 or min(t/26,1))
|
||||
gc.print(M.text,10+(20-min(t,20))^1.5/4,25*i+debugMesFloat)
|
||||
end
|
||||
end
|
||||
end
|
||||
function LOG.print(text,type,clr)
|
||||
local time
|
||||
local his
|
||||
if _G.type(type)=="table"then
|
||||
clr,type=type or color.white
|
||||
elseif type=="warn"then
|
||||
clr=clr or color.yellow
|
||||
his=true
|
||||
time=180
|
||||
elseif type=="error"then
|
||||
clr=clr or color.red
|
||||
his=true
|
||||
time=210
|
||||
elseif type=="message"then
|
||||
clr=clr or color.green
|
||||
his=true
|
||||
elseif not clr then
|
||||
clr=color.white
|
||||
end
|
||||
if his then
|
||||
ins(debugMesHistory,SCN.cur..": "..tostring(text))
|
||||
end
|
||||
ins(debugMesList,{text=text,r=clr[1],g=clr[2],b=clr[3],blink=30,time=time or 150})
|
||||
end
|
||||
function LOG.copy()
|
||||
local str=table.concat(debugMesHistory,"\n")
|
||||
love.system.setClipboardText(str)
|
||||
LOG.print("Log copied",color.blue)
|
||||
end
|
||||
return LOG
|
||||
Reference in New Issue
Block a user