From 36c5432c65dbf53cbece86a3975470e6bd15c639 Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Tue, 9 Mar 2021 12:54:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=86=8D=E4=BF=AE=E6=94=B9=E5=9C=B0=E5=9B=BEui?= =?UTF-8?q?=E5=92=8C=E6=9A=82=E5=81=9C=E7=95=8C=E9=9D=A2rank=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parts/list.lua | 8 +++++++ parts/scenes/mode.lua | 48 ++++++++++++++++++------------------------ parts/scenes/pause.lua | 3 ++- 3 files changed, 30 insertions(+), 29 deletions(-) diff --git a/parts/list.lua b/parts/list.lua index 949ab213..fa4b5290 100644 --- a/parts/list.lua +++ b/parts/list.lua @@ -291,6 +291,14 @@ do--BLOCKS end end +rankColor={ + {.6,.3,.3,.9}, + {.7,.5,.3,.9}, + {.9,.7,.6,.9}, + {.7,.9,1,.9}, + {.9,.9,.7,.9}, +} + minoColor={ COLOR.red, COLOR.fire, diff --git a/parts/scenes/mode.lua b/parts/scenes/mode.lua index cf4bafd4..407c6262 100644 --- a/parts/scenes/mode.lua +++ b/parts/scenes/mode.lua @@ -4,7 +4,6 @@ local ms,kb,tc=love.mouse,love.keyboard,love.touch local max,min=math.max,math.min local int,abs=math.floor,math.abs -local sin,cos=math.sin,math.cos local mapCam={ sel=false,--Selected mode ID @@ -185,13 +184,15 @@ function scene.update() end end -local rankColor={ - {.4,.1,.1}, --D - {.4,.35,.3}, --C - {.6,.4,.2}, --B - {.7,.75,.85}, --A - {.95,.9,.3}, --S - {.2,.7,.2}, --Special +--D/C/B/A/S/special +local baseRankColor={ + [0]={0,0,0,.3}, + {.4,.1,.1,.3}, + {.4,.35,.3,.3}, + {.6,.4,.2,.3}, + {.7,.75,.85,.3}, + {.85,.8,.3,.3}, + {.4,.7,.4,.3}, } function scene.draw() local _ @@ -218,14 +219,15 @@ function scene.draw() --Modes setFont(80) + gc.setLineWidth(6) for name,M in next,MODES do if R[name]then + local rank=R[name] local S=M.size - gc.setColor(1,1,1) - gc.setLineWidth(4) --Frame & fill - local drawType="line" + gc.setColor(baseRankColor[rank]) + local drawType="fill" ::again:: if M.shape==1 then--Rectangle gc.rectangle(drawType,M.x-S,M.y-S,2*S,2*S) @@ -234,36 +236,26 @@ function scene.draw() elseif M.shape==3 then--Octagon gc.circle(drawType,M.x,M.y,S+6,8) end - if sel==name and drawType=="line"then - gc.setColor(1,1,1,.42) - drawType="fill" + if drawType=="fill"then + gc.setColor(1,1,sel==name and 0 or 1) + drawType="line" goto again end --Icon local icon=M.icon if icon then + gc.setColor(.8,.8,.8) local length=icon:getWidth()*.5 - local k=S/length - if R[M.name]>0 then - gc.setColor(.95,.95,.95) - for j=1,4 do - local t=TIME()*3+1.57*j - gc.draw(icon,M.x+2.6*cos(t),M.y+2.6*sin(t),nil,k,nil,length,length) - end - gc.setColor(rankColor[R[M.name]]) - else - gc.setColor(.6,.6,.6) - end - gc.draw(icon,M.x,M.y,nil,k,nil,length,length) + gc.draw(icon,M.x,M.y,nil,S/length,nil,length,length) end --Rank - name=text.ranks[R[M.name]] + name=text.ranks[rank] if name then gc.setColor(0,0,0,.8) mStr(name,M.x+M.size*.7,M.y-50-M.size*.7) - gc.setColor(.9,.9,.9) + gc.setColor(rankColor[rank]) mStr(name,M.x+M.size*.7+4,M.y-50-M.size*.7-4) end end diff --git a/parts/scenes/pause.lua b/parts/scenes/pause.lua index 311944fe..4f9eb06b 100644 --- a/parts/scenes/pause.lua +++ b/parts/scenes/pause.lua @@ -262,7 +262,8 @@ function scene.draw() setFont(80) gc.setColor(0,0,0,T*.7) gc.print(str,100*T^.5-5,-14,nil,1.8) - gc.setColor(1,1,1,T) + local L=rankColor[GAME.rank] + gc.setColor(L[1],L[2],L[3],T) gc.print(str,100*T^.5,-10,nil,1.8) end