From cb16482a610bf31259858b748ed7e8a43a84684b Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Sun, 25 Apr 2021 14:28:22 +0800 Subject: [PATCH] =?UTF-8?q?doGC=E6=A8=A1=E5=9D=97=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E7=BB=98=E5=88=B6=EF=BC=8C=E8=BF=9B=E4=B8=80?= =?UTF-8?q?=E6=AD=A5=E6=B7=98=E6=B1=B0TEXTURE=E6=A8=A1=E5=9D=97=E4=B8=ADNS?= =?UTF-8?q?C+=E4=BB=A3=E7=A0=81=E5=BC=8F=E7=9A=84=E6=9D=90=E8=B4=A8?= =?UTF-8?q?=E7=94=9F=E6=88=90=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Zframework/doGC.lua | 20 ++++++---- parts/texture.lua | 90 +++++++++++++++++++++------------------------ 2 files changed, 55 insertions(+), 55 deletions(-) diff --git a/Zframework/doGC.lua b/Zframework/doGC.lua index 1ef4887e..59559067 100644 --- a/Zframework/doGC.lua +++ b/Zframework/doGC.lua @@ -13,7 +13,7 @@ local cmds={ setLJ="setLineJoin", setFT=function(...)setFont(...)end, - dText="print", + print="print", mText=function(...)ADRAW.str(...)end, mDraw=function(...)ADRAW.draw(...)end, @@ -41,13 +41,19 @@ return function(L) gc.setColor(1,1,1) gc.setLineWidth(1) for i=3,#L do - local cmd=cmds[L[i][1]] + local cmd=L[i][1] + if type(cmd)=="boolean"and cmd then + table.remove(L[i],1) + cmd=L[i][1] + end if type(cmd)=="string"then - gc[cmd](unpack(L[i],2)) - elseif cmd then - cmd(unpack(L[i],2)) - else - error("No gc command: "..(L[i][1]or"[nil]")) + local func=cmds[cmd] + if type(func)=="string"then func=gc[func]end + if func then + func(unpack(L[i],2)) + else + error("No gc command: "..cmd) + end end end gc.setCanvas() diff --git a/parts/texture.lua b/parts/texture.lua index 953a7c44..52287462 100644 --- a/parts/texture.lua +++ b/parts/texture.lua @@ -30,16 +30,17 @@ end gc.setLineWidth(2) TEXTURE.puzzleMark={} for i=1,17 do - TEXTURE.puzzleMark[i]=NSC(30,30) - local _=minoColor[i] - gc.setColor(_[1],_[2],_[3],.6) - gc.rectangle("line",5,5,20,20) - gc.rectangle("line",10,10,10,10) + TEXTURE.puzzleMark[i]=DOGC{30,30, + {"setCL",minoColor[i][1],minoColor[i][2],minoColor[i][3],.6}, + {"dRect",5,5,20,20}, + {"dRect",10,10,10,10}, + } end for i=18,24 do - TEXTURE.puzzleMark[i]=NSC(30,30) - gc.setColor(minoColor[i]) - gc.rectangle("line",7,7,16,16) + TEXTURE.puzzleMark[i]=DOGC{30,30, + {"setCL",minoColor[i]}, + {"dRect",7,7,16,16}, + } end TEXTURE.puzzleMark[-1]=DOGC{30,30, {"setCL",1,1,1,.8}, @@ -52,38 +53,38 @@ TEXTURE.puzzleMark[-1]=DOGC{30,30, --A simple pixel font TEXTURE.pixelNum={} -gc.setColor(1,1,1) for i=0,9 do - TEXTURE.pixelNum[i]=NSC(5,9) - if("1011011111"):byte(i+1)==49 then gc.rectangle("fill",1,0,3,1)end--up - if("0011111011"):byte(i+1)==49 then gc.rectangle("fill",1,4,3,1)end--middle - if("1011011011"):byte(i+1)==49 then gc.rectangle("fill",1,8,3,1)end--down - if("1000111011"):byte(i+1)==49 then gc.rectangle("fill",0,1,1,3)end--up-left - if("1111100111"):byte(i+1)==49 then gc.rectangle("fill",4,1,1,3)end--up-right - if("1010001010"):byte(i+1)==49 then gc.rectangle("fill",0,5,1,3)end--down-left - if("1101111111"):byte(i+1)==49 then gc.rectangle("fill",4,5,1,3)end--down-right + TEXTURE.pixelNum[i]=DOGC{5,9, + {("1011011111"):byte(i+1)==49,"fRect",1,0,3,1},--up + {("0011111011"):byte(i+1)==49,"fRect",1,4,3,1},--middle + {("1011011011"):byte(i+1)==49,"fRect",1,8,3,1},--down + {("1000111011"):byte(i+1)==49,"fRect",0,1,1,3},--up-left + {("1111100111"):byte(i+1)==49,"fRect",4,1,1,3},--up-right + {("1010001010"):byte(i+1)==49,"fRect",0,5,1,3},--down-left + {("1101111111"):byte(i+1)==49,"fRect",4,5,1,3},--down-right + } end --Cursor -TEXTURE.cursor=NSC(16,16) -gc.setColor(1,1,1,.7) -gc.circle("fill",8,8,6) -gc.setColor(1,1,1) -gc.circle("fill",8,8,4) +TEXTURE.cursor=DOGC{16,16, + {"fCirc",8,8,4}, + {"setCL",1,1,1,.7}, + {"fCirc",8,8,6}, +} --Cursor while hold -TEXTURE.cursor_hold=NSC(16,16) -gc.setLineWidth(2) -gc.setColor(1,1,1) -gc.circle("line",8,8,7) -gc.circle("fill",8,8,3) +TEXTURE.cursor_hold=DOGC{16,16, + {"setLW",2}, + {"dCirc",8,8,7}, + {"fCirc",8,8,3}, +} TEXTURE.lvIcon=setmetatable({},{__index=function(self,lv) local img={25,25} ins(img,{"clear",0,0,0}) ins(img,{"setLW",4}) - ins(img,{"setCL",COLOR.lN}) + ins(img,{"setCL",.5,.8,1}) ins(img,{"dRect",2,2,21,21}) --TODO: draw with lv @@ -115,17 +116,8 @@ for i=1,8 do gc.translate(-12*i,i==1 and -8 or -14) end +local titleColor={COLOR.lP,COLOR.lC,COLOR.lB,COLOR.lO,COLOR.lF,COLOR.lM,COLOR.lG,COLOR.lY} TEXTURE.title_color=NSC(1160,236) -local titleColor={ - COLOR.lP, - COLOR.lC, - COLOR.lB, - COLOR.lO, - COLOR.lF, - COLOR.lM, - COLOR.lG, - COLOR.lY, -} for i=1,8 do gc.translate(12*i,i==1 and 8 or 14) @@ -151,16 +143,18 @@ end --WS icons setFont(20) -TEXTURE.ws_dead=NSC(20,20) -gc.setColor(1,.3,.3) -gc.print("X",3,-4) -TEXTURE.ws_connecting=NSC(20,20) -gc.setLineWidth(3) -gc.setColor(1,1,1) -gc.arc("line","open",11.5,10,6.26,1,5.28) -TEXTURE.ws_running=NSC(20,20) -gc.setColor(.5,1,0) -gc.print("R",3,-4) +TEXTURE.ws_dead=DOGC{20,20, + {"setCL",1,.3,.3}, + {"print","X",3,-4}, +} +TEXTURE.ws_connecting=DOGC{20,20, + {"setLW",3}, + {"dArc",11.5,10,6.26,1,5.28}, +} +TEXTURE.ws_running=DOGC{20,20, + {"setCL",.5,1,0}, + {"print","R",3,-4}, +} gc.setCanvas()