* Attempt to rework Zictionary scene * Rearrange the layout and handling most of thing * Remove ALPHA key, done keyboard handling, changed some key's behavior * Add Help text * Update Help text & fix some bugs * Update help text * Edit help text * Support gamepad * small changes in help text * small changes * Fix copy bug * small change * Add hint text to open Hint * Fix a bug that item accidentally selected when scrolling * Clean up a dumb function (Forget to cleanup in previous commit) * add backup solution, just in case * fix another bug * fix touch bug * Refix the scroll bug when touch * small code changes * small change in English file * Fix bugs, change text, adjust a icon * Change English text * Add Vietnamese translation * Add Chinese, adjust English & Vietnamese * Small change in secret Easter egg * Fix spelling mistake
This commit is contained in:
committed by
GitHub
parent
9d3fb33d10
commit
5061cad389
@@ -380,56 +380,50 @@ return {
|
|||||||
support="Support the author",
|
support="Support the author",
|
||||||
dict={
|
dict={
|
||||||
sizeChanged="Changed font size: $1",
|
sizeChanged="Changed font size: $1",
|
||||||
sizeReset="Reset font size: 25",
|
sizeReset="Font size has been reset!",
|
||||||
helpText=
|
helpText=
|
||||||
[[
|
[[
|
||||||
ZICTIONARY NAVIGATION INSTRUCTION
|
INSTRUCTIONS FOR NAVIGATION IN TETRODICTIONARY
|
||||||
|
|
||||||
NOTE: Some functions may not have specific gestures for gamepad input.
|
A. Mouse and Touchscreen
|
||||||
In such cases, you can use alternative input methods or follow the provided instructions.
|
- Press/touch [$13] to open Help.
|
||||||
|
- Hold and drag up/down or scroll the mouse to navigate through the text.
|
||||||
|
|
||||||
Scrolling text:
|
- Press/touch a term in the list on the left to select the entry you want to look up.
|
||||||
Keyboard: Use [$1] to scroll up, [$2] to scroll down.
|
- Press/touch [$16] or [$17] to quickly scroll through the list. You can also click the middle mouse button or right mouse button and then scroll the mouse to switch between entries.
|
||||||
Gamepad: Use $5 to scroll up, $6 to scroll down.
|
|
||||||
Mouse/Touch screen: Use the familiar scrolling gestures.
|
|
||||||
|
|
||||||
Exiting Zictionary:
|
- Press/touch [aA] to display the font control buttons.
|
||||||
Keyboard: Press [Esc] key.
|
- Press/touch [a] to decrease the font size and [A] to increase the font size.
|
||||||
Gamepad: Press [BACK] button.
|
- To reset the font size to the default size, wait for a few seconds until the [100%] button appears, then press [100%].
|
||||||
Mouse/Touch screen: Press the Back button in the top right corner of the screen.
|
|
||||||
|
|
||||||
Opening/closing Help:
|
- Press/touch [$14] to copy the content of the current entry.
|
||||||
Keyboard: Press [F1] key.
|
- Press/touch [$15] to open the link of the current entry (if available).
|
||||||
Gamepad: Press $10 key.
|
|
||||||
Mouse/Touch screen: Tap [$13] key.
|
|
||||||
|
|
||||||
Opening previous/next item in the list:
|
- Click the back button in the top right corner to exit TetroDictionary.
|
||||||
Keyboard: Press [$3] to open the previous item, [$4] to open the next one.
|
|
||||||
Gamepad: Press $7 to open the previous item, $8 to open the next one.
|
|
||||||
Mouse/Touch screen: Click/touch the item below the currently selected one in the list.
|
|
||||||
|
|
||||||
Jumping backward/forward through 12 items:
|
|
||||||
Keyboard: Hold [Ctrl]/[Shift]/[Alt] key first, then press [$3] to jump backward, [$4] to jump forward.
|
|
||||||
Gamepad: Hold $11 key first, then press $7 to jump backward, and $8 to jump forward.
|
|
||||||
Mouse/Touch screen: Click/Touch [$16] to jump backward, [$17] to jump forward
|
|
||||||
|
|
||||||
Changing font size (DEFAULT: 25):
|
B. Keyboard
|
||||||
Keyboard: Hold Ctrl key first, then press [-] to make the text smaller, [+] to make it bigger, [0] to reset the font size to default.
|
Press...
|
||||||
Gamepad: Hold $11 key first, then press $6 to make the text smaller, and $5 to make it bigger.
|
- [F1] to display Help.
|
||||||
Mouse/Touch screen:
|
- [$1] or [$2] to scroll through the text.
|
||||||
Press [aA] to show [a] and [A] buttons.
|
- [$3] to open the previous entry and [$4] to open the next entry.
|
||||||
Click/touch [a] to make the text smaller.
|
|
||||||
Click/touch [A] to make the text bigger.
|
|
||||||
To reset the font size, wait for 3 seconds for [aA] [100%] to reappear, then click/touch [100%] to reset.
|
|
||||||
Note: There's no gesture to reset the font size with the Gamepad, but you can set it back to 25.
|
|
||||||
|
|
||||||
Copying the content:
|
- [Ctrl] + [-] to decrease the font size, [Ctrl] + [+] to increase the font size.
|
||||||
Keyboard: Press [Ctrl] + [C].
|
- [Ctrl] + [0] to restore the default font size.
|
||||||
Mouse/Touch screen: Press [$14] key.
|
|
||||||
|
|
||||||
Opening item's URL (if available):
|
- [Ctrl] + [C] to copy text.
|
||||||
Keyboard: Press [$18] (Context menu/Application key).
|
- [$18] (Context Menu key/Application key)
|
||||||
Mouse/Touch screen: Press [$15] key.
|
- to open the link of the current entry (if available).
|
||||||
|
|
||||||
|
- [Esc] to exit TetroDictionary.
|
||||||
|
|
||||||
|
C. Gamepad
|
||||||
|
- Press $10 to display Help.
|
||||||
|
- Press $5 or $6 to scroll through the text.
|
||||||
|
- Press $7 to open the previous entry and $8 to open the next entry.
|
||||||
|
- Hold $11 and press $7 or $8 to scroll quickly through the list.
|
||||||
|
- Hold $11 and press $6 to decrease the font size or $5 to increase the font size.
|
||||||
|
- Press [BACK] to exit TetroDictionary.
|
||||||
]]
|
]]
|
||||||
-- 1-4: Up, Down, Left, Right
|
-- 1-4: Up, Down, Left, Right
|
||||||
-- 5-8: Up, Down, Left, Right but D-Pad
|
-- 5-8: Up, Down, Left, Right but D-Pad
|
||||||
|
|||||||
@@ -385,6 +385,59 @@ return {
|
|||||||
sha2 [Egor Skriptunoff]
|
sha2 [Egor Skriptunoff]
|
||||||
]],
|
]],
|
||||||
support="Hỗ trợ người làm game",
|
support="Hỗ trợ người làm game",
|
||||||
|
dict={
|
||||||
|
sizeChanged="Đã đổi cỡ phông: $1",
|
||||||
|
sizeReset="Đã đặt lại cỡ phông!",
|
||||||
|
helpText=
|
||||||
|
[[
|
||||||
|
HƯỚNG DẪN ĐIỀU HƯỚNG TRONG TETRODICTIONARY
|
||||||
|
|
||||||
|
A. Chuột và màn hình cảm ứng
|
||||||
|
- Nhấn/chạm [$13] để mở Trợ giúp.
|
||||||
|
- Giữ và kéo lên/xuống hoặc lăn chuột để cuộn văn bản.
|
||||||
|
|
||||||
|
- Nhấn/chạm vào một mục trong danh sách ở bên trái để chọn mục cần tra.
|
||||||
|
- Nhấn/chạm [$16] hoặc [$17] để nhanh chóng cuộn qua danh sách. Bạn cũng có thể nhấn giữ chuột giữa hoặc chuột phải sau đó lăn chuột để chuyển qua các mục.
|
||||||
|
|
||||||
|
- Nhấn/chạm [aA] để hiện 2 nút điều khiển cỡ chữ.
|
||||||
|
- Nhấn/chạm [a] để giảm cỡ chữ và [A] để tăng cỡ chữ.
|
||||||
|
- Để đặt cỡ chữ về cỡ mặc định, chờ một vài giây để nút [100%] xuất hiện, sau đó nhấn [100%].
|
||||||
|
|
||||||
|
- Nhấn/chạm [$14] để sao chép nội dung của mục đang xem.
|
||||||
|
- Nhấn/chạm [$15] để mở link của mục đang xem (nếu có).
|
||||||
|
|
||||||
|
- Nhấp vào nút quay lại ở góc trên bên phải để thoát TetroDictionary
|
||||||
|
|
||||||
|
|
||||||
|
B. Bàn phím
|
||||||
|
Nhấn…
|
||||||
|
- [F1] để hiển thị Trợ giúp.
|
||||||
|
- [$1] hoặc [$2] để cuộn qua văn bản.
|
||||||
|
- [$3] để mở mục trước đó và [$4] để mở mục tiếp theo.
|
||||||
|
|
||||||
|
- [Ctrl] + [-] để giảm cỡ chữ, [Ctrl] + [+] để tăng cỡ chữ.
|
||||||
|
- [Ctrl] + [0] để khôi phục về cỡ chữ mặc định
|
||||||
|
|
||||||
|
- [Ctrl] + [C] để sao chép văn bản
|
||||||
|
- [$18] (phím Menu ngữ cảnh/phím Ứng dụng)
|
||||||
|
để mở liên kết của mục đang xem (nếu có)
|
||||||
|
|
||||||
|
- [Esc] để thoát TetroDictionary
|
||||||
|
|
||||||
|
|
||||||
|
C. Tay cầm chơi game (Gamepad)
|
||||||
|
Nhấn $10 để hiển thị trợ giúp.
|
||||||
|
Nhấn $5 hoặc $6 để cuộn văn bản.
|
||||||
|
Nhấn $7 để mở mục trước và $8 để mở mục tiếp theo.
|
||||||
|
Giữ $11 và nhấn $7 hoặc $8 để cuộn nhanh qua danh sách.
|
||||||
|
Giữ $11 và nhấn $6 để giảm cỡ chữ hoặc $5 để tăng cỡ chữ.
|
||||||
|
Nhấn [BACK] để thoát TetroDictionary.
|
||||||
|
]]
|
||||||
|
-- 1-4: Up, Down, Left, Right
|
||||||
|
-- 5-8: Up, Down, Left, Right but D-Pad
|
||||||
|
-- 9-12: X, Y, A, B
|
||||||
|
-- 13-18: Help, Copy, Open, Forward, Backward, MENU
|
||||||
|
},
|
||||||
WidgetText={
|
WidgetText={
|
||||||
main={
|
main={
|
||||||
offline="Chơi đơn",
|
offline="Chơi đơn",
|
||||||
|
|||||||
@@ -379,6 +379,43 @@ return {
|
|||||||
sha2 [Egor Skriptunoff]
|
sha2 [Egor Skriptunoff]
|
||||||
]],
|
]],
|
||||||
support="支持作者",
|
support="支持作者",
|
||||||
|
dict={ -- Message from Sea: credit to User670 for helping me out this part.
|
||||||
|
sizeChanged="已更改字号为$1",
|
||||||
|
sizeReset="字号已重置",
|
||||||
|
helpText=
|
||||||
|
[[
|
||||||
|
小Z词典操作说明
|
||||||
|
|
||||||
|
鼠标与触摸屏:
|
||||||
|
点击 [$13] 显示帮助。
|
||||||
|
拖动或使用鼠标滚轮以滚动文本。
|
||||||
|
点击左侧列表中的项目以选择词条,点击 [$16] 或 [$17] 快速滚动列表。
|
||||||
|
点击 [aA] 显示字号控制,然后点击 [a] 缩小字号,[A] 增大字号。要重置字号为默认大小,稍等片刻直到 [100%] 按钮显示,然后点击 [100%]。
|
||||||
|
点击 [$14] 复制词条文本。
|
||||||
|
点击 [$15] 打开词条中的链接(如有)。
|
||||||
|
点击右上角的返回按钮退出小Z词典。
|
||||||
|
|
||||||
|
键盘:
|
||||||
|
按 [F1] 显示帮助。
|
||||||
|
按 [$1] 或 [$2] 滚动文本。
|
||||||
|
按 [$3] 打开上一词条,按 [$4] 打开下一词条。使用 [Ctrl + $3] 或 [Ctrl + $4] 快速滚动列表。
|
||||||
|
按 [Ctrl + 减号键] 缩小字号,[Ctrl + 等号键] 增大字号,[Ctrl + 0] 恢复默认字号。
|
||||||
|
按 [Ctrl + C] 复制词条文本。
|
||||||
|
按 [$18] (上下文菜单键,应用程序键)打开词条中的链接(如有)。
|
||||||
|
按 [Esc] 退出小Z词典。
|
||||||
|
|
||||||
|
游戏手柄:
|
||||||
|
按 $10 显示帮助。
|
||||||
|
按 $5 或 $6 滚动文本。
|
||||||
|
按 $7 打开上一词条,按 $8 打开下一词条。按住 $11 并按 $7 或 $8 快速滚动列表。
|
||||||
|
按住 $11 并按 $6 缩小字号,或 $5 增大字号。
|
||||||
|
按 [BACK] 退出小Z词典。
|
||||||
|
]]
|
||||||
|
-- 1-4: Up, Down, Left, Right
|
||||||
|
-- 5-8: Up, Down, Left, Right but D-Pad
|
||||||
|
-- 9-12: X, Y, A, B
|
||||||
|
-- 13-18: Help, Copy, Open, Forward, Backward, MENU
|
||||||
|
},
|
||||||
WidgetText={
|
WidgetText={
|
||||||
main={
|
main={
|
||||||
offline="单机游戏",
|
offline="单机游戏",
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ local currentFontSize=25 -- Current font size, default: 25
|
|||||||
local showingHelp=false -- Help is triggered or not
|
local showingHelp=false -- Help is triggered or not
|
||||||
local zoomWait=0 -- The last time zoom is triggered
|
local zoomWait=0 -- The last time zoom is triggered
|
||||||
|
|
||||||
local oldScrollPos=0
|
local lastScrollPos
|
||||||
local lastMouseX,lastMouseY,lastTouchX,lastTouchY
|
local lastMouseX,lastMouseY,lastTouchX,lastTouchY
|
||||||
|
|
||||||
local typeColor={
|
local typeColor={
|
||||||
@@ -101,10 +101,9 @@ local function _search()
|
|||||||
ins(result,dict[i])
|
ins(result,dict[i])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if #result>0 then
|
|
||||||
SFX.play('reach')
|
if #result>0 then SFX.play('reach') end
|
||||||
justSearched=true
|
justSearched=true
|
||||||
end
|
|
||||||
lastSearch=input
|
lastSearch=input
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -132,13 +131,21 @@ local function _updateInfoBox(c)
|
|||||||
if showingHelp then
|
if showingHelp then
|
||||||
if text.dict.helpText then
|
if text.dict.helpText then
|
||||||
t,_t=text.dict.helpText:repD(
|
t,_t=text.dict.helpText:repD(
|
||||||
CHAR.key.up, CHAR.key.down, CHAR.key.left, CHAR.key.right,
|
CHAR.key.up, CHAR.key.down, CHAR.key.left, CHAR.key.right,
|
||||||
CHAR.controller.xboxX, CHAR.controller.xboxY, CHAR.controller.xboxA, CHAR.controller.xboxB,
|
CHAR.controller.dpadU,CHAR.controller.dpadD,CHAR.controller.dpadL,CHAR.controller.dpadR,
|
||||||
|
CHAR.controller.xboxX,CHAR.controller.xboxY,CHAR.controller.xboxA,CHAR.controller.xboxB,
|
||||||
|
|
||||||
CHAR.icon.help, CHAR.icon.copy, CHAR.icon.globe,
|
CHAR.icon.help,CHAR.icon.copy, CHAR.icon.globe,
|
||||||
CHAR.icon.toUp, CHAR.icon.toDown, CHAR.key.winMenu
|
CHAR.icon.toUp,CHAR.icon.toDown,CHAR.key.winMenu
|
||||||
),true
|
),true
|
||||||
else _t,t=true,{"NO HELP TEXT AVAILABLE!\n","Please switch language to English and try again to read the help text"} end
|
else _t,t=true,{
|
||||||
|
"OUCH! I can't seem to find any translated Help text anywhere.",
|
||||||
|
"\nI guess you'll have to switch to English and try again to read it instead!",
|
||||||
|
"\n\nOn another note, you could make an issue on GitHub or send this to Techmino's Discord server.",
|
||||||
|
"\nThe cause? I'm not sure... My guess is that there's something seriously wrong with the language files or the source code of this scene. BUT all the language files have a callback to English, and the original language - Chinese - has a version of the Help text! I'm not entirely certain if it worked or not, though.",
|
||||||
|
"\n\nOh, and it would be nice if you could let us know about it or you can fix it by yourself!",
|
||||||
|
"\n\n-- Sea, the one who rewrote the Zictionary scene and left this message just in case."
|
||||||
|
} end
|
||||||
else _t,t=pcall(function() return _getList()[listBox.selected].content end) end
|
else _t,t=pcall(function() return _getList()[listBox.selected].content end) end
|
||||||
if _t then c=t else c={""} end
|
if _t then c=t else c={""} end
|
||||||
_t,t=nil,nil
|
_t,t=nil,nil
|
||||||
@@ -199,10 +206,9 @@ end
|
|||||||
|
|
||||||
local function fixScrollingByTouch(x,y,lastX,lastY)
|
local function fixScrollingByTouch(x,y,lastX,lastY)
|
||||||
if WIDGET.isFocus(listBox) then
|
if WIDGET.isFocus(listBox) then
|
||||||
if abs(oldScrollPos-listBox.scrollPos)>26 then
|
if abs(lastScrollPos-listBox.scrollPos)>26 then
|
||||||
oldScrollPos=listBox.scrollPos
|
lastScrollPos=listBox.scrollPos
|
||||||
listBox.selected=lastSelected
|
listBox.selected=lastSelected
|
||||||
listBox.scrollPos=oldScrollPos
|
|
||||||
else
|
else
|
||||||
lastSelected=listBox.selected
|
lastSelected=listBox.selected
|
||||||
scene.widgetList.copy.hide=false
|
scene.widgetList.copy.hide=false
|
||||||
@@ -224,6 +230,8 @@ function scene.enter()
|
|||||||
searchWait=0
|
searchWait=0
|
||||||
lastSelected=0
|
lastSelected=0
|
||||||
listBox.selected=1
|
listBox.selected=1
|
||||||
|
listBox.scrollPos=0
|
||||||
|
lastScrollPos=0
|
||||||
lastSearch=false
|
lastSearch=false
|
||||||
|
|
||||||
if not MOBILE then WIDGET.focus(inputBox) end
|
if not MOBILE then WIDGET.focus(inputBox) end
|
||||||
@@ -242,6 +250,7 @@ function scene.keyDown(key)
|
|||||||
return
|
return
|
||||||
elseif WIDGET.isFocus(listBox) then
|
elseif WIDGET.isFocus(listBox) then
|
||||||
listBox:scroll(key=='up' and -1 or 1)
|
listBox:scroll(key=='up' and -1 or 1)
|
||||||
|
lastScrollPos=listBox.scrollPos
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -382,6 +391,7 @@ function scene.draw()
|
|||||||
-- If yes, update lastSelected then update the textbox!
|
-- If yes, update lastSelected then update the textbox!
|
||||||
elseif justSearched then
|
elseif justSearched then
|
||||||
listBox:setList(_getList())
|
listBox:setList(_getList())
|
||||||
|
_updateInfoBox()
|
||||||
justSearched=false
|
justSearched=false
|
||||||
elseif lastSelected~=listBox.selected and not love.mouse.isDown(1) then
|
elseif lastSelected~=listBox.selected and not love.mouse.isDown(1) then
|
||||||
_updateInfoBox()
|
_updateInfoBox()
|
||||||
@@ -406,7 +416,7 @@ scene.widgetList={
|
|||||||
WIDGET.newKey {name='link', x=1234,y=600,w=60,font=45,fText=CHAR.icon.globe, code=pressKey'application',hideF=function() return not ((not (showingHelp or listBox.selected==0)) and _getList()[listBox.selected].url) end},
|
WIDGET.newKey {name='link', x=1234,y=600,w=60,font=45,fText=CHAR.icon.globe, code=pressKey'application',hideF=function() return not ((not (showingHelp or listBox.selected==0)) and _getList()[listBox.selected].url) end},
|
||||||
WIDGET.newKey {name='copy', x=1234,y=670,w=60,font=40,fText=CHAR.icon.copy, code=pressKey'cC'},
|
WIDGET.newKey {name='copy', x=1234,y=670,w=60,font=40,fText=CHAR.icon.copy, code=pressKey'cC'},
|
||||||
|
|
||||||
WIDGET.newKey {name='openzoom', x=1234,y=300,w=60,font=25,fText="aA", code=function() _openZoom() end,hide=false},
|
WIDGET.newKey {name='openzoom', x=1234,y=300,w=60,font=30,fText="aA", code=function() _openZoom() end,hide=false},
|
||||||
WIDGET.newKey {name='resetzoom',x=1234,y=370,w=60,font=25,fText="100%", code=function() _resetZoom() end,hide=false},
|
WIDGET.newKey {name='resetzoom',x=1234,y=370,w=60,font=25,fText="100%", code=function() _resetZoom() end,hide=false},
|
||||||
WIDGET.newKey {name='zoomin', x=1234,y=300,w=60,font=40,fText="A", code=function() _setZoom(5) end,hide=true},
|
WIDGET.newKey {name='zoomin', x=1234,y=300,w=60,font=40,fText="A", code=function() _setZoom(5) end,hide=true},
|
||||||
WIDGET.newKey {name='zoomout', x=1234,y=370,w=60,font=40,fText="a", code=function() _setZoom(-5) end,hide=true},
|
WIDGET.newKey {name='zoomout', x=1234,y=370,w=60,font=40,fText="a", code=function() _setZoom(-5) end,hide=true},
|
||||||
|
|||||||
Reference in New Issue
Block a user