删除虚拟按键颜色,恢复最早的白色
This commit is contained in:
8
main.lua
8
main.lua
@@ -272,13 +272,7 @@ do
|
|||||||
end
|
end
|
||||||
SETTING.appLock=nil
|
SETTING.appLock=nil
|
||||||
|
|
||||||
for _,v in next,VK_org do
|
for _,v in next,VK_org do v.color=nil end
|
||||||
if not v.color then
|
|
||||||
fs.remove("conf/virtualkey")
|
|
||||||
autoRestart=true
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if STAT.version~=VERSION.code then
|
if STAT.version~=VERSION.code then
|
||||||
newVersionLaunch=true
|
newVersionLaunch=true
|
||||||
|
|||||||
@@ -337,25 +337,25 @@ keyMap=FILE.load("conf/key")or{--Key setting
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
VK_org=FILE.load("conf/virtualkey")or{--Virtualkey layout, refresh all VKs' position with this before each game
|
VK_org=FILE.load("conf/virtualkey")or{--Virtualkey layout, refresh all VKs' position with this before each game
|
||||||
{ava=true, x=80, y=720-200, r=80,color=COLOR.L},--moveLeft
|
{ava=true, x=80, y=720-200, r=80},--moveLeft
|
||||||
{ava=true, x=320, y=720-200, r=80,color=COLOR.L},--moveRight
|
{ava=true, x=320, y=720-200, r=80},--moveRight
|
||||||
{ava=true, x=1280-80, y=720-200, r=80,color=COLOR.R},--rotRight
|
{ava=true, x=1280-80, y=720-200, r=80},--rotRight
|
||||||
{ava=true, x=1280-200, y=720-80, r=80,color=COLOR.O},--rotLeft
|
{ava=true, x=1280-200, y=720-80, r=80},--rotLeft
|
||||||
{ava=true, x=1280-200, y=720-320, r=80,color=COLOR.M},--rot180
|
{ava=true, x=1280-200, y=720-320, r=80},--rot180
|
||||||
{ava=true, x=200, y=720-320, r=80,color=COLOR.C},--hardDrop
|
{ava=true, x=200, y=720-320, r=80},--hardDrop
|
||||||
{ava=true, x=200, y=720-80, r=80,color=COLOR.S},--softDrop
|
{ava=true, x=200, y=720-80, r=80},--softDrop
|
||||||
{ava=true, x=1280-320, y=720-200, r=80,color=COLOR.Y},--hold
|
{ava=true, x=1280-320, y=720-200, r=80},--hold
|
||||||
{ava=true, x=1280-80, y=280, r=80,color=COLOR.lR},--func1
|
{ava=true, x=1280-80, y=280, r=80},--func1
|
||||||
{ava=true, x=80, y=280, r=80,color=COLOR.lM},--func2
|
{ava=true, x=80, y=280, r=80},--func2
|
||||||
{ava=false, x=100, y=50, r=80,color=COLOR.A},--insLeft
|
{ava=false, x=100, y=50, r=80},--insLeft
|
||||||
{ava=false, x=200, y=50, r=80,color=COLOR.A},--insRight
|
{ava=false, x=200, y=50, r=80},--insRight
|
||||||
{ava=false, x=300, y=50, r=80,color={COLOR.rainbow(3.5)}},--insDown
|
{ava=false, x=300, y=50, r=80},--insDown
|
||||||
{ava=false, x=400, y=50, r=80,color={COLOR.rainbow(3.3)}},--down1
|
{ava=false, x=400, y=50, r=80},--down1
|
||||||
{ava=false, x=500, y=50, r=80,color={COLOR.rainbow(3.1)}},--down4
|
{ava=false, x=500, y=50, r=80},--down4
|
||||||
{ava=false, x=600, y=50, r=80,color={COLOR.rainbow(2.9)}},--down10
|
{ava=false, x=600, y=50, r=80},--down10
|
||||||
{ava=false, x=700, y=50, r=80,color=COLOR.lL},--dropLeft
|
{ava=false, x=700, y=50, r=80},--dropLeft
|
||||||
{ava=false, x=800, y=50, r=80,color=COLOR.lL},--dropRight
|
{ava=false, x=800, y=50, r=80},--dropRight
|
||||||
{ava=false, x=900, y=50, r=80,color=COLOR.lA},--addToLeft
|
{ava=false, x=900, y=50, r=80},--addToLeft
|
||||||
{ava=false, x=1000, y=50, r=80,color=COLOR.lA},--addToRight
|
{ava=false, x=1000, y=50, r=80},--addToRight
|
||||||
}
|
}
|
||||||
REPLAY=FILE.load("conf/replay")or{}
|
REPLAY=FILE.load("conf/replay")or{}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
local gc=love.graphics
|
local gc=love.graphics
|
||||||
|
local next=next
|
||||||
local SETTING=SETTING
|
local SETTING,TIME=SETTING,TIME
|
||||||
|
local VK_org=VK_org
|
||||||
|
|
||||||
--Virtualkey icons
|
--Virtualkey icons
|
||||||
local VKIcon={}
|
local VKIcon={}
|
||||||
@@ -17,13 +18,12 @@ local VK={keys=keys}
|
|||||||
|
|
||||||
function VK.on(x,y)
|
function VK.on(x,y)
|
||||||
local dist,nearest=1e10
|
local dist,nearest=1e10
|
||||||
for K=1,#keys do
|
for id,B in next,keys do
|
||||||
local B=keys[K]
|
|
||||||
if B.ava then
|
if B.ava then
|
||||||
local d1=(x-B.x)^2+(y-B.y)^2
|
local d1=(x-B.x)^2+(y-B.y)^2
|
||||||
if d1<B.r^2 then
|
if d1<B.r^2 then
|
||||||
if d1<dist then
|
if d1<dist then
|
||||||
nearest,dist=K,d1
|
nearest,dist=id,d1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -47,8 +47,7 @@ function VK.touch(id,x,y)
|
|||||||
|
|
||||||
--Button collision (not accurate)
|
--Button collision (not accurate)
|
||||||
if SETTING.VKDodge then
|
if SETTING.VKDodge then
|
||||||
for i=1,#keys do
|
for _,b in next,keys do
|
||||||
local b=keys[i]
|
|
||||||
local d=B.r+b.r-((B.x-b.x)^2+(B.y-b.y)^2)^.5--Hit depth(Neg means distance)
|
local d=B.r+b.r-((B.x-b.x)^2+(B.y-b.y)^2)^.5--Hit depth(Neg means distance)
|
||||||
if d>0 then
|
if d>0 then
|
||||||
b.x=b.x+(b.x-B.x)*d*b.r*2.6e-5
|
b.x=b.x+(b.x-B.x)*d*b.r*2.6e-5
|
||||||
@@ -81,23 +80,21 @@ function VK.restore()
|
|||||||
B.x=O.x
|
B.x=O.x
|
||||||
B.y=O.y
|
B.y=O.y
|
||||||
B.r=O.r
|
B.r=O.r
|
||||||
B.color=O.color
|
|
||||||
B.isDown=false
|
B.isDown=false
|
||||||
B.pressTime=0
|
B.pressTime=0
|
||||||
end
|
end
|
||||||
for k,v in next,PLAYERS[1].keyAvailable do
|
for id,v in next,PLAYERS[1].keyAvailable do
|
||||||
if not v then
|
if not v then
|
||||||
keys[k].ava=false
|
keys[id].ava=false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function VK.update()
|
function VK.update()
|
||||||
if SETTING.VKSwitch then
|
if SETTING.VKSwitch then
|
||||||
for i=1,#keys do
|
for _,B in next,keys do
|
||||||
local _=keys[i]
|
if B.pressTime>0 then
|
||||||
if _.pressTime>0 then
|
B.pressTime=B.pressTime-1
|
||||||
_.pressTime=_.pressTime-1
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -105,72 +102,64 @@ end
|
|||||||
|
|
||||||
local gc_circle,gc_draw,gc_setColor,gc_setLineWidth=gc.circle,gc.draw,gc.setColor,gc.setLineWidth
|
local gc_circle,gc_draw,gc_setColor,gc_setLineWidth=gc.circle,gc.draw,gc.setColor,gc.setLineWidth
|
||||||
function VK.draw()
|
function VK.draw()
|
||||||
if SETTING.VKSwitch then
|
if not SETTING.VKSwitch then return end
|
||||||
local a=SETTING.VKAlpha
|
local a=SETTING.VKAlpha
|
||||||
if SETTING.VKIcon then
|
if SETTING.VKIcon then
|
||||||
for i=1,#keys do
|
for i,B in next,keys do
|
||||||
if keys[i].ava then
|
if B.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
|
--Icon
|
||||||
gc_setColor(1,1,1,a)
|
local _=B.pressTime
|
||||||
gc_setLineWidth(B.r*.07)
|
gc_setColor(1,1,1,a)
|
||||||
gc_circle('line',B.x,B.y,B.r,10)
|
gc_draw(VKIcon[i],B.x,B.y,nil,B.r*.026+_*.08,nil,18,18)
|
||||||
|
|
||||||
--Icon
|
--Ripple
|
||||||
local _=keys[i].pressTime
|
if _>0 then
|
||||||
local c=B.color
|
gc_setColor(1,1,1,a*_*.08)
|
||||||
gc_setColor(c[1],c[2],c[3],a)
|
gc_circle('line',B.x,B.y,B.r*(1.4-_*.04),10)
|
||||||
gc_draw(VKIcon[i],B.x,B.y,nil,B.r*.026+_*.08,nil,18,18)
|
end
|
||||||
|
|
||||||
--Ripple
|
--Glow when press
|
||||||
if _>0 then
|
if B.isDown then
|
||||||
gc_setColor(1,1,1,a*_*.08)
|
gc_setColor(1,1,1,a*.4)
|
||||||
gc_circle('line',B.x,B.y,B.r*(1.4-_*.04),10)
|
gc_circle('fill',B.x,B.y,B.r*.94,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
|
||||||
end
|
end
|
||||||
else
|
end
|
||||||
for i=1,#keys do
|
else
|
||||||
if keys[i].ava then
|
for _,B in next,keys do
|
||||||
local B=keys[i]
|
if B.ava then
|
||||||
gc_setColor(1,1,1,a)
|
gc_setColor(1,1,1,a)
|
||||||
gc_setLineWidth(B.r*.07)
|
gc_setLineWidth(B.r*.07)
|
||||||
gc_circle('line',B.x,B.y,B.r,10)
|
gc_circle('line',B.x,B.y,B.r,10)
|
||||||
local _=keys[i].pressTime
|
local _=B.pressTime
|
||||||
if _>0 then
|
if _>0 then
|
||||||
gc_setColor(1,1,1,a*_*.08)
|
gc_setColor(1,1,1,a*_*.08)
|
||||||
gc_circle('fill',B.x,B.y,B.r*.94,10)
|
gc_circle('fill',B.x,B.y,B.r*.94,10)
|
||||||
gc_circle('line',B.x,B.y,B.r*(1.4-_*.04),10)
|
gc_circle('line',B.x,B.y,B.r*(1.4-_*.04),10)
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
function VK.preview(selected)
|
function VK.preview(selected)
|
||||||
if SETTING.VKSwitch then
|
if not SETTING.VKSwitch then return end
|
||||||
for i=1,#VK_org do
|
for id,B in next,VK_org do
|
||||||
local B=VK_org[i]
|
if B.ava then
|
||||||
if B.ava then
|
gc_setColor(1,1,1,SETTING.VKAlpha)
|
||||||
|
gc_setLineWidth(B.r*.07)
|
||||||
|
gc_circle('line',B.x,B.y,B.r,10)
|
||||||
|
if selected==id and TIME()%.26<.13 then
|
||||||
|
gc_setColor(1,1,1,SETTING.VKAlpha*.62)
|
||||||
|
gc_circle('fill',B.x,B.y,B.r,10)
|
||||||
|
end
|
||||||
|
if SETTING.VKIcon then
|
||||||
gc_setColor(1,1,1,SETTING.VKAlpha)
|
gc_setColor(1,1,1,SETTING.VKAlpha)
|
||||||
gc_setLineWidth(B.r*.07)
|
gc_draw(VKIcon[id],B.x,B.y,nil,B.r*.025,nil,18,18)
|
||||||
gc_circle('line',B.x,B.y,B.r,10)
|
|
||||||
if selected==i and TIME()%.26<.13 then
|
|
||||||
gc_setColor(1,1,1,SETTING.VKAlpha*.62)
|
|
||||||
gc_circle('fill',B.x,B.y,B.r,10)
|
|
||||||
end
|
|
||||||
if SETTING.VKIcon then
|
|
||||||
local c=B.color
|
|
||||||
gc_setColor(c[1],c[2],c[3],SETTING.VKAlpha)
|
|
||||||
gc_draw(VKIcon[i],B.x,B.y,nil,B.r*.025,nil,18,18)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user