修复触屏和键盘用不了智能画笔

This commit is contained in:
MrZ626
2021-03-17 14:53:59 +08:00
parent 03c6cf01de
commit 17ed24de8a

View File

@@ -130,8 +130,6 @@ function scene.mouseMove(x,y)
or 0 or 0
end end
end end
else
if pen==-2 then SPdraw()end
end end
end end
function scene.mouseDown(x,y,k) function scene.mouseDown(x,y,k)
@@ -141,7 +139,9 @@ function scene.mouseDown(x,y,k)
scene.mouseMove(x,y) scene.mouseMove(x,y)
end end
end end
scene.mouseUp=scene.mouseMove function scene.mouseUp()
if pen==-2 then SPdraw()end
end
function scene.wheelMoved(_,y) function scene.wheelMoved(_,y)
if y<0 then if y<0 then
@@ -168,7 +168,7 @@ function scene.touchMove(x,y)
end end
end end
end end
scene.touchUp=scene.touchMove scene.touchUp=scene.mouseUp
function scene.keyDown(key) function scene.keyDown(key)
local sx,sy=penX,penY local sx,sy=penX,penY
@@ -181,15 +181,7 @@ function scene.keyDown(key)
elseif key=="right"and sx<10 then sx=sx+1 elseif key=="right"and sx<10 then sx=sx+1
end end
if kb.isDown("space")then if kb.isDown("space")then
FIELD[page][sy][sx]=pen scene.keyDown("space")
end
elseif key=="delete"then
if sure>20 then
for y=1,20 do for x=1,10 do FIELD[page][y][x]=0 end end
sure=0
SFX.play("finesseError",.7)
else
sure=50
end end
elseif key=="space"then elseif key=="space"then
if sx and sy then if sx and sy then
@@ -199,8 +191,14 @@ function scene.keyDown(key)
FIELD[page][sy][sx]=pen FIELD[page][sy][sx]=pen
end end
end end
elseif key=="escape"then elseif key=="delete"then
SCN.back() if sure>20 then
for y=1,20 do for x=1,10 do FIELD[page][y][x]=0 end end
sure=0
SFX.play("finesseError",.7)
else
sure=50
end
elseif key=="j"then elseif key=="j"then
demo=not demo demo=not demo
elseif key=="k"then elseif key=="k"then
@@ -211,12 +209,12 @@ function scene.keyDown(key)
local F=FIELD[page] local F=FIELD[page]
for i=20,1,-1 do for i=20,1,-1 do
for j=1,10 do for j=1,10 do
if F[i][j]<=0 then goto L end if F[i][j]<=0 then goto nextLine end
end end
SYSFX.newShade(3,200,660-30*i,300,30) SYSFX.newShade(3,200,660-30*i,300,30)
SYSFX.newRectRipple(3,200,660-30*i,300,30) SYSFX.newRectRipple(3,200,660-30*i,300,30)
rem(F,i) rem(F,i)
::L:: ::nextLine::
end end
if #F~=20 then if #F~=20 then
repeat repeat
@@ -225,6 +223,20 @@ function scene.keyDown(key)
SFX.play("clear_3",.8) SFX.play("clear_3",.8)
SFX.play("fall",.8) SFX.play("fall",.8)
end end
elseif key=="n"then
ins(FIELD,page+1,newBoard(FIELD[page]))
page=page+1
SFX.play("blip_1",.8)
SYSFX.newShade(3,200,60,300,600,.5,1,.5)
elseif key=="m"then
rem(FIELD,page)
page=max(page-1,1)
if not FIELD[1]then
ins(FIELD,newBoard())
end
SYSFX.newShade(3,200,60,300,600,1,.5,.5)
SFX.play("clear_4",.8)
SFX.play("fall",.8)
elseif key=="c"and kb.isDown("lctrl","rctrl")or key=="cC"then elseif key=="c"and kb.isDown("lctrl","rctrl")or key=="cC"then
sys.setClipboardText("Techmino Field:"..copyBoard(page)) sys.setClipboardText("Techmino Field:"..copyBoard(page))
LOG.print(text.exportSuccess,COLOR.green) LOG.print(text.exportSuccess,COLOR.green)
@@ -243,27 +255,15 @@ function scene.keyDown(key)
else else
page=min(page+1,#FIELD) page=min(page+1,#FIELD)
end end
elseif key=="n"then elseif key=="escape"then
ins(FIELD,page+1,newBoard(FIELD[page])) SCN.back()
page=page+1
SFX.play("blip_1",.8)
SYSFX.newShade(3,200,60,300,600,.5,1,.5)
elseif key=="m"then
rem(FIELD,page)
page=max(page-1,1)
if not FIELD[1]then
ins(FIELD,newBoard())
end
SYSFX.newShade(3,200,60,300,600,1,.5,.5)
SFX.play("clear_4",.8)
SFX.play("fall",.8)
else else
pen=penKey[key]or pen pen=penKey[key]or pen
end end
penX,penY,pen=sx,sy,pen penX,penY,pen=sx,sy,pen
end end
function scene.keyUp() function scene.keyUp(key)
if not kb.isDown("space")and pen==-2 then if key=="space"and pen==-2 then
SPdraw() SPdraw()
end end
end end