修复手机端滚动控件距离问题,升级SCR模块,增加几个方便的成员变量
This commit is contained in:
@@ -142,7 +142,7 @@ function love.mousemoved(x,y,dx,dy,touch)
|
||||
dx,dy=dx/SCR.k,dy/SCR.k
|
||||
if SCN.mouseMove then SCN.mouseMove(mx,my,dx,dy)end
|
||||
if ms.isDown(1)then
|
||||
WIDGET.drag(mx,my,dx*SCR.dpi,dy*SCR.dpi)
|
||||
WIDGET.drag(mx,my,dx/SCR.k,dy/SCR.k)
|
||||
else
|
||||
WIDGET.cursorMove(mx,my)
|
||||
end
|
||||
@@ -178,7 +178,7 @@ function love.touchmoved(_,x,y,dx,dy)
|
||||
if SCN.swapping then return end
|
||||
x,y=xOy:inverseTransformPoint(x,y)
|
||||
if SCN.touchMove then SCN.touchMove(x,y,dx/SCR.k,dy/SCR.k)end
|
||||
WIDGET.drag(x,y,dx*SCR.dpi,dy*SCR.dpi)
|
||||
WIDGET.drag(x,y,dx/SCR.k,dy/SCR.k)
|
||||
if touching then
|
||||
WIDGET.cursorMove(x,y)
|
||||
if not WIDGET.sel then touching=false end
|
||||
@@ -652,7 +652,7 @@ function love.run()
|
||||
elseif devMode==4 then WAIT(.5)
|
||||
end
|
||||
end
|
||||
gc_translate(SCR.w*.5,SCR.h)
|
||||
gc_translate(SCR.cx,SCR.h)
|
||||
gc_scale(SCR.k)
|
||||
--Draw Version string
|
||||
gc_setColor(.8,.8,.8,.4)
|
||||
|
||||
@@ -21,13 +21,16 @@ function SCR.resize(w,h)
|
||||
SCR.r=h/w
|
||||
SCR.rad=(w^2+h^2)^.5
|
||||
|
||||
SCR.x,SCR.y=0,0
|
||||
if SCR.r>=SCR.h0/SCR.w0 then
|
||||
SCR.k=w/SCR.w0
|
||||
SCR.x,SCR.y=0,(h-w*SCR.h0/SCR.w0)/2
|
||||
SCR.y=(h-SCR.h0*SCR.k)/2
|
||||
else
|
||||
SCR.k=h/SCR.h0
|
||||
SCR.x,SCR.y=(w-h*SCR.w0/SCR.h0)/2,0
|
||||
SCR.x=(w-SCR.w0*SCR.k)/2
|
||||
end
|
||||
SCR.cx,SCR.cy=SCR.w/2,SCR.h/2
|
||||
SCR.ex,SCR.ey=SCR.w-SCR.x,SCR.h-SCR.y
|
||||
SCR.safeX,SCR.safeY,SCR.safeW,SCR.safeH=love.window.getSafeArea()
|
||||
SCR.xOy:setTransformation(w/2,h/2,nil,SCR.k,nil,SCR.w0/2,SCR.h0/2)
|
||||
end
|
||||
@@ -41,7 +44,7 @@ function SCR.info()
|
||||
("W,H : %d, %d"):format(SCR.W,SCR.H),
|
||||
("safeX,safeY : %d, %d"):format(SCR.safeX,SCR.safeY),
|
||||
("safeW,safeH : %d, %d"):format(SCR.safeW,SCR.safeH),
|
||||
("k,dpi,rad : %d, %d, %.4f"):format(SCR.k,SCR.dpi,SCR.rad),
|
||||
("k,dpi,rad : %.2f, %d, %.2f"):format(SCR.k,SCR.dpi,SCR.rad),
|
||||
}
|
||||
end
|
||||
return SCR
|
||||
@@ -45,7 +45,7 @@ function back.draw()
|
||||
gc_clear(.1,.1,.1)
|
||||
gc_push('transform')
|
||||
gc_origin()
|
||||
gc_translate(SCR.w/2,SCR.h/2)
|
||||
gc_translate(SCR.cx,SCR.cy)
|
||||
|
||||
--Squares
|
||||
gc_setColor(1,1,1,.2)
|
||||
|
||||
@@ -44,7 +44,7 @@ function back.draw()
|
||||
gc_clear(.1,.1,.1)
|
||||
gc_push('transform')
|
||||
gc_origin()
|
||||
gc_translate(SCR.w/2,SCR.h/2)
|
||||
gc_translate(SCR.cx,SCR.cy)
|
||||
for i=1,#mino do
|
||||
local M=mino[i]
|
||||
local c=M.color
|
||||
|
||||
@@ -24,6 +24,6 @@ function back.draw()
|
||||
end
|
||||
local _=colorLib[SETTING.skin[R]]
|
||||
gc.setColor(_[1],_[2],_[3],.12)
|
||||
gc.draw(TEXTURE.miniBlock[R],SCR.w/2,SCR.h/2,t%3.1416*6,400*SCR.k,nil,scs[R][0][2]+.5,#blocks[R][0]-scs[R][0][1]-.5)
|
||||
gc.draw(TEXTURE.miniBlock[R],SCR.cx,SCR.cy,t%3.1416*6,400*SCR.k,nil,scs[R][0][2]+.5,#blocks[R][0]-scs[R][0][1]-.5)
|
||||
end
|
||||
return back
|
||||
@@ -19,7 +19,7 @@ function back.draw()
|
||||
gc.clear(.1,.1,.1)
|
||||
end
|
||||
gc.push('transform')
|
||||
gc.translate(SCR.w/2,SCR.h/2+20*sin(t*.02))
|
||||
gc.translate(SCR.cx,SCR.cy+20*sin(t*.02))
|
||||
gc.scale(SCR.k)
|
||||
gc.scale(1.1626,1.26)
|
||||
if -t%6.26<.1355 then
|
||||
|
||||
Reference in New Issue
Block a user