From 3ae9dfa323e674edb1687a4cf8a1bbd966ba222c Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Sun, 6 Dec 2020 20:35:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=81=8A=E5=A4=A9=E5=AE=A4ui?= =?UTF-8?q?=E5=92=8C=E9=83=A8=E5=88=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parts/language/lang_en.lua | 1 + parts/language/lang_fr.lua | 1 + parts/language/lang_sp.lua | 1 + parts/language/lang_zh.lua | 1 + parts/scenes/chat.lua | 39 ++++++++++++++++---------------------- 5 files changed, 20 insertions(+), 23 deletions(-) diff --git a/parts/language/lang_en.lua b/parts/language/lang_en.lua index 1f3ee898..3fe89a33 100644 --- a/parts/language/lang_en.lua +++ b/parts/language/lang_en.lua @@ -94,6 +94,7 @@ return{ -- chatJoin="进入房间", -- chatLeave="离开房间", -- chatRemain="人数:", + -- chatStart="------消息的开头------", -- chatHistory="------以上是历史消息------", errorMsg="An error has occurred and Techmino needs to restart.\nError info has been created, and you can send it to the author.", diff --git a/parts/language/lang_fr.lua b/parts/language/lang_fr.lua index 23936ebe..1aaf3e13 100644 --- a/parts/language/lang_fr.lua +++ b/parts/language/lang_fr.lua @@ -97,6 +97,7 @@ return{ -- chatJoin="进入房间", -- chatLeave="离开房间", -- chatRemain="人数:", + -- chatStart="------消息的开头------", -- chatHistory="------以上是历史消息------", errorMsg="Une erreur est survenue et Techmino doit redémarrer.\nDes informations concernant l'erreur ont été créées, et vous pouvez les envoyer au créateur.", diff --git a/parts/language/lang_sp.lua b/parts/language/lang_sp.lua index c06135dc..ebc2e576 100644 --- a/parts/language/lang_sp.lua +++ b/parts/language/lang_sp.lua @@ -98,6 +98,7 @@ return{ -- chatJoin="进入房间", -- chatLeave="离开房间", -- chatRemain="人数:", + -- chatStart="------消息的开头------", -- chatHistory="------以上是历史消息------", errorMsg="Ha ocurrido un error y Techmino necesita reiniciarse.\nSe creó un registro de error, puedes enviarlo al autor.", diff --git a/parts/language/lang_zh.lua b/parts/language/lang_zh.lua index 4743802a..148023db 100644 --- a/parts/language/lang_zh.lua +++ b/parts/language/lang_zh.lua @@ -95,6 +95,7 @@ return{ chatJoin="进入房间", chatLeave="离开房间", chatRemain="人数:", + chatStart="------消息的开头------", chatHistory="------以上是历史消息------", errorMsg="Techmino遭受了雷击,需要重新启动.\n我们已收集了一些错误信息,你可以向作者进行反馈.", diff --git a/parts/scenes/chat.lua b/parts/scenes/chat.lua index 67ac8d05..b1359061 100644 --- a/parts/scenes/chat.lua +++ b/parts/scenes/chat.lua @@ -21,12 +21,10 @@ local function sendMessage() end end local function clearHistory() - if #texts>0 then - texts={} - scroll=0 - SFX.play("fall") - collectgarbage() - end + texts={{COLOR.dG,text.chatHistory}} + scroll=1 + SFX.play("fall") + collectgarbage() end local scene={} @@ -35,13 +33,12 @@ function scene.sceneInit() heartBeatTimer=0 remain=nil - scroll=#texts - if scroll>0 then - if texts[scroll][1]~=COLOR.dG then - ins(texts,{COLOR.dG,text.chatHistory}) - scroll=scroll+1 - end + if #texts==0 then + ins(texts,{COLOR.dG,text.chatStart}) + elseif #texts>1 and texts[#texts][1]~=COLOR.dG then + ins(texts,{COLOR.dG,text.chatHistory}) end + scroll=#texts TASK.new(focusAtTextbox)--Widgets are not initialized, so active after 1 frame BG.set("none") wsConnect( @@ -122,32 +119,28 @@ function scene.draw() setFont(30) for i=max(scroll-11,1),scroll do - gc.printf(texts[i],40,449-39*(scroll-i),1240) + gc.printf(texts[i],40,416-36*(scroll-i),1240) end --Slider if #texts>12 then gc.setLineWidth(2) - gc.rectangle("line",10,30,20,450) - local len=450*12/#texts - gc.rectangle("fill",10,30+(450-len)*(scroll-12)/(#texts-12),20,len) + gc.rectangle("line",10,30,20,420) + local len=420*12/#texts + gc.rectangle("fill",13,33+(414-len)*(scroll-12)/(#texts-12),14,len) end --Draw - if scroll~=#texts then + if newMessasge and scroll~=#texts then setFont(40) - if newMessasge then - gc.setColor(1,Timer()%.4<.2 and 1 or 0,0) - else - gc.setColor(1,1,1) - end + gc.setColor(1,Timer()%.4<.2 and 1 or 0,0) gc.print("v",8,480) end end scene.widgetList={ WIDGET.newTextBox{name="text", x=40, y=500,w=980,h=180,font=40}, - WIDGET.newButton{name="clear", x=1140, y=440,w=170,h=80,font=40,code=clearHistory}, + WIDGET.newButton{name="clear", x=1140, y=440,w=170,h=80,font=40,code=clearHistory,hide=function()return #texts>1 and not newMessasge end}, WIDGET.newButton{name="send", x=1140, y=540,w=170,h=80,font=40,code=sendMessage}, WIDGET.newButton{name="back", x=1140, y=640,w=170,h=80,font=40,code=WIDGET.lnk_BACK}, }