From 4a31485359d58bd0df40966e74d224a2a2ebac31 Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Tue, 27 Apr 2021 01:03:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=BF=E9=97=B4=E9=80=89=E6=8B=A9=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E6=94=AF=E6=8C=81=E7=82=B9=E9=80=89=E5=92=8C=E6=8B=96?= =?UTF-8?q?=E5=8A=A8=EF=BC=8Cui=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parts/language/lang_en.lua | 2 -- parts/language/lang_fr.lua | 2 -- parts/language/lang_pt.lua | 2 -- parts/language/lang_sp.lua | 2 -- parts/language/lang_zh.lua | 2 -- parts/scenes/net_rooms.lua | 69 +++++++++++++++++++++++++++----------- 6 files changed, 50 insertions(+), 29 deletions(-) diff --git a/parts/language/lang_en.lua b/parts/language/lang_en.lua index d844762e..f31c18c7 100644 --- a/parts/language/lang_en.lua +++ b/parts/language/lang_en.lua @@ -255,8 +255,6 @@ return{ new="New Room(2)", new2="New Room(5)", join="Join", - up="↑", - down="↓", }, net_game={ ready="Ready", diff --git a/parts/language/lang_fr.lua b/parts/language/lang_fr.lua index 7b300040..bb078e61 100644 --- a/parts/language/lang_fr.lua +++ b/parts/language/lang_fr.lua @@ -226,8 +226,6 @@ return{ noRoom="Aucun salon actuellement", -- refresh="Refresh", join="Rejoindre", - up="↑", - down="↓", }, net_game={ -- ready="Ready", diff --git a/parts/language/lang_pt.lua b/parts/language/lang_pt.lua index dd62354a..461e43d0 100644 --- a/parts/language/lang_pt.lua +++ b/parts/language/lang_pt.lua @@ -256,8 +256,6 @@ return{ -- new="New Room(2)", -- new2="New Room(5)", -- join="Join", - up="↑", - down="↓", }, net_game={ -- ready="Ready", diff --git a/parts/language/lang_sp.lua b/parts/language/lang_sp.lua index 9a0babd0..5508e89b 100644 --- a/parts/language/lang_sp.lua +++ b/parts/language/lang_sp.lua @@ -233,8 +233,6 @@ return{ new="Sala Nueva(2)", new2="Sala Nueva(5)", join="Unirse", - up="↑", - down="↓", }, net_game={ ready="Estoy Listo", diff --git a/parts/language/lang_zh.lua b/parts/language/lang_zh.lua index 2f47f2ea..26d69b38 100644 --- a/parts/language/lang_zh.lua +++ b/parts/language/lang_zh.lua @@ -255,8 +255,6 @@ return{ new="创建房间(2)", new2="创建房间(5)", join="加入", - up="↑", - down="↓", }, net_game={ ready="准备", diff --git a/parts/scenes/net_rooms.lua b/parts/scenes/net_rooms.lua index 11b6a5c8..82fb9e10 100644 --- a/parts/scenes/net_rooms.lua +++ b/parts/scenes/net_rooms.lua @@ -1,5 +1,7 @@ local gc=love.graphics -local kb=love.keyboard +local ms,kb=love.mouse,love.keyboard + +local int,max,min=math.floor,math.max,math.min local NET=NET local scrollPos,selected @@ -20,8 +22,23 @@ function scene.sceneInit() fetchRoom() end +local floatWheel=0 function scene.wheelMoved(_,y) - WHEELMOV(y) + if y>0 then + if floatWheel<0 then floatWheel=0 end + floatWheel=floatWheel+y^1.2 + elseif y<0 then + if floatWheel>0 then floatWheel=0 end + floatWheel=floatWheel-(-y)^1.2 + end + while floatWheel>=1 do + scrollPos=max(0,min(scrollPos-1,#NET.roomList-10)) + floatWheel=floatWheel-1 + end + while floatWheel<=-1 do + scrollPos=max(0,min(scrollPos+1,#NET.roomList-10)) + floatWheel=floatWheel+1 + end end function scene.keyDown(k) if k=="r"then @@ -49,16 +66,12 @@ function scene.keyDown(k) if k=="down"then if selected<#NET.roomList then selected=selected+1 - if selected>scrollPos+10 then - scrollPos=scrollPos+1 - end + scrollPos=max(selected-10,min(scrollPos,selected-1)) end elseif k=="up"then if selected>1 then selected=selected-1 - if selected50 and x<1230 then + y=int((y-70)/40) + if y>=1 and y<=10 then + print(y+scrollPos) + selected=y+scrollPos + end + end +end +function scene.touchMove(_,_,_,dy) + scene.wheelMoved(0,dy/30) +end +scene.touchClick=scene.mouseClick + function scene.update(dt) if not NET.getlock("fetchRoom")then fetchTimer=fetchTimer-dt @@ -85,19 +117,21 @@ end function scene.draw() --Fetching timer - gc.setColor(1,1,1,.26) - gc.arc("fill","pie",130,620,60,-1.5708,-1.5708-1.2566*fetchTimer) + gc.setColor(1,1,1,.12) + gc.arc("fill","pie",300,620,60,-1.5708,-1.5708-1.2566*fetchTimer) --Room list gc.setColor(1,1,1) gc.setLineWidth(2) gc.rectangle("line",50,110,1180,400) if #NET.roomList>0 then - gc.setColor(1,1,1,.3) - gc.rectangle("fill",50,40*(1+selected-scrollPos)+30,1180,40) setFont(35) for i=1,math.min(10,#NET.roomList-scrollPos)do local R=NET.roomList[scrollPos+i] + if scrollPos+i==selected then + gc.setColor(1,1,1,.3) + gc.rectangle("fill",50,70+40*i,1180,40) + end if R.private then gc.setColor(1,1,1) gc.draw(IMG.lock,59,75+40*i) @@ -120,16 +154,13 @@ function scene.draw() drawSelfProfile() end -local function hide_noRoom()return #NET.roomList==0 end scene.widgetList={ WIDGET.newText{name="refreshing",x=640,y=255,font=45,hide=function()return not NET.getlock("fetchRoom")end}, WIDGET.newText{name="noRoom", x=640,y=260,font=40,hide=function()return #NET.roomList>0 or NET.getlock("fetchRoom")end}, - WIDGET.newKey{name="refresh", x=130,y=620,w=140,h=140,font=35,code=fetchRoom, hide=function()return fetchTimer>3.26 end}, - WIDGET.newKey{name="new", x=330,y=620,w=140,h=140,font=20,code=pressKey"n"}, - WIDGET.newKey{name="new2", x=530,y=620,w=140,h=140,font=20,code=pressKey"m"}, - WIDGET.newKey{name="join", x=730,y=620,w=140,h=140,font=40,code=pressKey"return", hide=hide_noRoom}, - WIDGET.newKey{name="up", x=930,y=585,w=140,h=70,font=40,code=pressKey"up", hide=hide_noRoom}, - WIDGET.newKey{name="down", x=930,y=655,w=140,h=70,font=40,code=pressKey"down", hide=hide_noRoom}, + WIDGET.newKey{name="refresh", x=300,y=620,w=140,h=140,font=35,code=fetchRoom,hide=function()return fetchTimer>3.26 end}, + WIDGET.newKey{name="new", x=500,y=620,w=140,h=140,font=20,code=pressKey"n"}, + WIDGET.newKey{name="new2", x=700,y=620,w=140,h=140,font=20,code=pressKey"m"}, + WIDGET.newKey{name="join", x=900,y=620,w=140,h=140,font=40,code=pressKey"return",hide=function()return #NET.roomList==0 end}, WIDGET.newButton{name="back", x=1140,y=640,w=170,h=80,font=40,code=backScene}, }