From c7d15fbd3db23d7d51dea832faa98ed8201affee Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Fri, 23 Apr 2021 08:23:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=A7=A6=E5=B1=8F=E6=8C=89?= =?UTF-8?q?=E8=99=9A=E6=8B=9F=E6=8C=89=E9=94=AE=E7=88=86=E7=82=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parts/scenes/game.lua | 4 ++-- parts/scenes/net_game.lua | 4 ++-- parts/virtualKey.lua | 26 ++++++++++++++++++-------- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/parts/scenes/game.lua b/parts/scenes/game.lua index 768ac6d6..0291275b 100644 --- a/parts/scenes/game.lua +++ b/parts/scenes/game.lua @@ -53,7 +53,7 @@ function scene.touchMove() for i=#L,1,-1 do L[2*i-1],L[2*i]=SCR.xOy:inverseTransformPoint(tc.getPosition(L[i])) end - local keys=VK.getKeys + local keys=VK.keys for n=1,#keys do local B=keys[n] if B.ava then @@ -73,7 +73,7 @@ function scene.keyDown(key) if k>0 then if noKey then return end PLAYERS[1]:pressKey(k) - local vk=VK.getKeys()[k] + local vk=VK.keys[k] vk.isDown=true vk.pressTime=10 else diff --git a/parts/scenes/net_game.lua b/parts/scenes/net_game.lua index 6b832d54..11bb95b0 100644 --- a/parts/scenes/net_game.lua +++ b/parts/scenes/net_game.lua @@ -57,7 +57,7 @@ function scene.touchMove() for i=#L,1,-1 do L[2*i-1],L[2*i]=SCR.xOy:inverseTransformPoint(tc.getPosition(L[i])) end - local keys=VK.getKeys + local keys=VK.keys for n=1,#keys do local B=keys[n] if B.ava then @@ -86,7 +86,7 @@ function scene.keyDown(key) local k=keyMap.keyboard[key] if k and k>0 then PLAYERS[1]:pressKey(k) - local vk=VK.getKeys()[k] + local vk=VK.keys[k] vk.isDown=true vk.pressTime=10 end diff --git a/parts/virtualKey.lua b/parts/virtualKey.lua index 3a42ba44..8b9db4f1 100644 --- a/parts/virtualKey.lua +++ b/parts/virtualKey.lua @@ -5,9 +5,7 @@ for i=1,#VK_org do keys[i]={}end--In-game virtualkey layout local VK={} -function VK.getKeys() - return keys -end +VK.keys=keys function VK.on(x,y) local dist,nearest=1e10 @@ -108,16 +106,28 @@ function VK.draw() for i=1,#keys do if keys[i].ava then local B=keys[i] + + --Button outline gc_setColor(1,1,1,a) gc_setLineWidth(B.r*.07) - gc_circle("line",B.x,B.y,B.r,10)--Button outline + gc_circle("line",B.x,B.y,B.r,10) + + --Icon _=keys[i].pressTime - gc_setColor(B.color[1],B.color[2],B.color[3],a) - gc_draw(icons[i],B.x,B.y,nil,B.r*.026+_*.08,nil,18,18)--Icon + local c=B.color + gc_setColor(c[1],c[2],c[3],a) + gc_draw(icons[i],B.x,B.y,nil,B.r*.026+_*.08,nil,18,18) + + --Ripple if _>0 then gc_setColor(1,1,1,a*_*.08) - gc_circle("fill",B.x,B.y,B.r*.94,10)--Glow when press - gc_circle("line",B.x,B.y,B.r*(1.4-_*.04),10)--Ripple + gc_circle("line",B.x,B.y,B.r*(1.4-_*.04),10) + end + + --Glow when press + if B.isDown then + gc_setColor(1,1,1,a*.4) + gc_circle("fill",B.x,B.y,B.r*.94,10) end end end