FF14 定制自己的菜單式熱鍵欄(熱鍵欄折疊宏)
熱鍵欄折疊宏可能是很多玩家都聽說過的東西,之前很多大佬已經(jīng)講過,一些老玩家應(yīng)該已經(jīng)用上了,今天想按照從需求開始一步步分析解決問題的思路深入講解一下,供還沒聽過和用上的光呆們參考,也算是給之前的專欄?FF14 手殘黨的福音:熱鍵欄更換宏?填坑吧。
一、為什么要做熱鍵欄折疊宏?
FF14給玩家提供了10個(gè)熱鍵欄,用來放置各種技能、道具、情感動(dòng)作、套裝快捷方式等常用指令。這是非常必要的,畢竟你不可能每次使用技能都打開技能書、每次使用道具都打開物品欄、每次發(fā)個(gè)表情都打開情感動(dòng)作窗口、每次切換職業(yè)都打開角色窗口的“套裝列表”,那樣太麻煩了,大家肯定希望把這些常用指令拖到熱鍵欄上以方便使用。

問題在于,F(xiàn)F14有18個(gè)戰(zhàn)斗職業(yè)、11個(gè)采集制作職業(yè),每個(gè)人常用的道具、情感動(dòng)作等也有很多,考慮到最少有3~4個(gè)熱鍵欄要固定給各職業(yè)來放置各種技能,即便剩下的熱鍵欄能放得下這些指令,也會(huì)讓整個(gè)游戲畫面布滿熱鍵欄,那體驗(yàn)就太差了。
在各種軟件中我們一般是怎么解決這個(gè)問題的呢?菜單。任何功能復(fù)雜的軟件都不會(huì)把所有指令全部羅列在界面上,而是會(huì)把各種指令按功能分組放入各個(gè)菜單,當(dāng)用戶點(diǎn)擊菜單欄上某一功能類別的按鈕時(shí),軟件會(huì)把對(duì)應(yīng)功能的菜單彈出來,供用戶選擇里面的具體指令。我們?cè)贔F14中也可以借鑒這種設(shè)計(jì)思路。


二、怎樣實(shí)現(xiàn)菜單功能?
參考上面圖中所示的Excel界面,我們要實(shí)現(xiàn)菜單功能需要做三件事:
找一個(gè)熱鍵欄作為菜單欄,在上面放置多個(gè)宏作為菜單入口,就像Excel在菜單欄上放置了“文件”“編輯”“視圖”“插入”“格式”等多個(gè)按鈕一樣;
為上述的每個(gè)宏找一個(gè)熱鍵欄作為其對(duì)應(yīng)的菜單,在上面放置具體的指令,就像Excel在“文件”菜單上放置了“新建”“打開”“關(guān)閉”“保存”等指令、在“編輯”菜單上放置了“撤銷”“恢復(fù)”“剪切”“復(fù)制”等指令一樣;
在上述宏中實(shí)裝菜單的彈出功能,實(shí)現(xiàn)這種效果:當(dāng)點(diǎn)擊作為菜單欄的熱鍵欄中的某個(gè)宏時(shí),作為菜單的對(duì)應(yīng)的熱鍵欄就會(huì)顯示出來。
下面我們就以職業(yè)、常用道具、常用情感動(dòng)作等指令為例,講一下如何實(shí)現(xiàn)以上三件事。
(一)菜單的實(shí)裝(對(duì)應(yīng)上面的第2件事)
按照自下而上的實(shí)裝順序,我們首先要找?guī)讉€(gè)熱鍵欄作為菜單,把各職業(yè)(套裝快捷方式)和常用的道具、情感動(dòng)作放進(jìn)去。我現(xiàn)在已經(jīng)開啟了所有18個(gè)戰(zhàn)斗職業(yè)和11個(gè)采集制作職業(yè),而每個(gè)熱鍵欄有12格,所以我準(zhǔn)備把18個(gè)戰(zhàn)斗職業(yè)的套裝快捷方式分開放入兩個(gè)熱鍵欄,11個(gè)采集制作職業(yè)放入一個(gè)熱鍵欄,常用道具和情感動(dòng)作各放入一個(gè)熱鍵欄。這樣算下來,僅僅這些指令就需要占用5個(gè)熱鍵欄,如果還有其他功能也要做成菜單的話,需要的熱鍵欄會(huì)更多??紤]到各職業(yè)還需要最少3~4個(gè)熱鍵欄來放置各種技能,這幾個(gè)菜單就不能占用常用職業(yè)的熱鍵欄了,否則熱鍵欄是不夠用的,即便現(xiàn)在勉強(qiáng)夠用,將來也很難再增加新菜單了。怎么解決這個(gè)問題呢?
這里需要插入兩個(gè)關(guān)于熱鍵欄的小知識(shí)。
a. 熱鍵欄有兩種類型:共用熱鍵欄和非共用熱鍵欄。共用熱鍵欄,顧名思義,是各職業(yè)共用的熱鍵欄,如果某個(gè)熱鍵欄是共用的,那么無論你切換到哪個(gè)職業(yè),看到的該熱鍵欄中的內(nèi)容都是一樣的,如果你在一個(gè)職業(yè)下改變其中放置的內(nèi)容,其他所有職業(yè)都會(huì)看到這個(gè)改變;非共用熱鍵欄則相反,如果某個(gè)熱鍵欄是非共用的,那么你在職業(yè)A下和職業(yè)B下可以給這個(gè)熱鍵欄放置不同的內(nèi)容,互不干擾。初始狀態(tài)下,所有熱鍵欄都是非共用的,你可以根據(jù)自己的需要隨時(shí)在系統(tǒng) - 角色設(shè)置 - 熱鍵欄設(shè)置 - 共用標(biāo)簽頁中進(jìn)行修改(用宏命令也可以修改,在此就不贅述了)。

b. 很多職業(yè)是有前置基礎(chǔ)職業(yè)的,比如斧術(shù)師是戰(zhàn)士的前置基礎(chǔ)職業(yè),劍術(shù)師是騎士的前置基礎(chǔ)職業(yè),其他還有格斗家-武僧、槍術(shù)師-龍騎士、雙劍師-忍者、弓箭手-吟游詩人、咒術(shù)師-黑魔法師、秘術(shù)師-召喚師/學(xué)者、幻術(shù)師-白魔法師。雖然在經(jīng)驗(yàn)獲取上,后面的職業(yè)與它們對(duì)應(yīng)的前置基礎(chǔ)職業(yè)看起來像是一個(gè)職業(yè),但實(shí)際上系統(tǒng)認(rèn)為它們是兩個(gè)職業(yè),這不僅體現(xiàn)在限定職業(yè)的任務(wù)上(比如你用某個(gè)職業(yè)接了任務(wù),是不能用它的前置基礎(chǔ)職業(yè)交任務(wù)的),也體現(xiàn)在熱鍵欄上——大家應(yīng)該都有過這種經(jīng)歷,當(dāng)你的某個(gè)基礎(chǔ)職業(yè)升到一定級(jí)別做了轉(zhuǎn)職任務(wù)并裝備上靈魂水晶之后,你之前按照自己的使用習(xí)慣在熱鍵欄中安排的技能是需要重新安排的。
講完這兩個(gè)熱鍵欄小知識(shí),我們就知道作為菜單的熱鍵欄應(yīng)該從哪里找了——我們可以用那些基礎(chǔ)職業(yè)的熱鍵欄,畢竟沒人在轉(zhuǎn)職后還用基礎(chǔ)職業(yè)來戰(zhàn)斗。這次我以白魔的前置基礎(chǔ)職業(yè)幻術(shù)師為例,把它的10、9、8、7、3號(hào)熱鍵欄作為菜單,先確認(rèn)它們是非共用的,然后把套裝快捷方式、常用道具、情感動(dòng)作拖進(jìn)去,放好之后的效果如下:

我在這里只是舉個(gè)例子,你可以根據(jù)自己的職業(yè)情況選擇基礎(chǔ)職業(yè),根據(jù)自己的實(shí)際需要在菜單里放任何東西,順序、間隔也可以隨自己的喜好進(jìn)行調(diào)整。至此,我們的5個(gè)菜單就做好了,下一步我們做菜單欄。
(二)菜單欄的實(shí)裝(對(duì)應(yīng)上面的第1件事)
首先,我們要找一個(gè)熱鍵欄作為菜單欄。因?yàn)槲覀兎湃氩藛蔚倪@些指令在各職業(yè)下都會(huì)用到,所以作為入口的菜單欄肯定要設(shè)置為共用,在這個(gè)例子中,我們把共用熱鍵欄5作為菜單欄。
其次,我們要寫5個(gè)宏來對(duì)應(yīng)上面的5個(gè)菜單,這些宏可以先設(shè)好圖標(biāo)和名稱,內(nèi)容先空著。
最后,我們把這些宏拖到作為菜單欄的共用熱鍵欄5中,最終效果如下圖所示:

至此,菜單欄也做好了,剩下的就是實(shí)現(xiàn)菜單的彈出功能。
(三)菜單彈出功能的實(shí)裝(對(duì)應(yīng)上面的第3件事)
首先,我們把共用熱鍵欄6拖到共用熱鍵欄5的右側(cè),作為顯示菜單的載體,如圖:

然后,我們?cè)谇笆龅?個(gè)空殼宏中分別填入以下內(nèi)容:
①采集制作職業(yè):
/熱鍵欄 復(fù)制 幻術(shù)師 10 共通 6
/熱鍵欄 顯示 6 開
/等待 3
/熱鍵欄 顯示 6 關(guān)
②近戰(zhàn)職業(yè):
/熱鍵欄 復(fù)制 幻術(shù)師 9 共通 6
/熱鍵欄 顯示 6 開
/等待 3
/熱鍵欄 顯示 6 關(guān)
③遠(yuǎn)程職業(yè):
/熱鍵欄 復(fù)制 幻術(shù)師 8 共通 6
/熱鍵欄 顯示 6 開
/等待 3
/熱鍵欄 顯示 6 關(guān)
④常用道具:
/熱鍵欄 復(fù)制 幻術(shù)師 7 共通 6
/熱鍵欄 顯示 6 開
/等待 3
/熱鍵欄 顯示 6 關(guān)
⑤常用情感動(dòng)作:
/熱鍵欄 復(fù)制 幻術(shù)師 3 共通 6
/熱鍵欄 顯示 6 開
/等待 3
/熱鍵欄 顯示 6 關(guān)
這些宏就是所謂的熱鍵欄折疊宏。其中,"/熱鍵欄 復(fù)制 幻術(shù)師 X 共通 6"的作用是把幻術(shù)師的非共用熱鍵欄X中的內(nèi)容全盤復(fù)制到共用熱鍵欄6中,“/熱鍵欄 顯示 6 開/關(guān)”的作用是顯示/隱藏?zé)徭I欄6。通過控制共用熱鍵欄6的顯示/隱藏和其中的內(nèi)容,就做出了彈出式菜單的感覺。
點(diǎn)擊這些宏時(shí),對(duì)應(yīng)菜單(共用熱鍵欄6)的彈出情況如下面五張圖所示(請(qǐng)與幻術(shù)師的10、9、8、7、3號(hào)熱鍵欄中的內(nèi)容對(duì)照):





“/等待 3”的作用是使菜單彈出3秒后自動(dòng)關(guān)閉,這個(gè)等待時(shí)間可以根據(jù)自己的習(xí)慣修改。其實(shí)菜單彈出后等待一段時(shí)間自動(dòng)關(guān)閉的行為跟其他軟件中菜單的行為還是有差距的,還有一種更好的實(shí)裝方式,能實(shí)現(xiàn)點(diǎn)擊彈出、再點(diǎn)擊關(guān)閉、且在菜單彈出狀態(tài)下點(diǎn)擊其他熱鍵欄折疊宏時(shí)彈出其他菜單而不是關(guān)閉菜單,但由于需要改變熱鍵欄布局或者需要其他宏配合,太復(fù)雜了,這里就先不說了,畢竟現(xiàn)在這種實(shí)裝方式也算夠用了,如果有光呆用后覺得現(xiàn)在的實(shí)裝方式體驗(yàn)不好,可以再來問我。
(★)總結(jié)
至此咱們的菜單系統(tǒng)就完成了。再強(qiáng)調(diào)一下,以上(一)(二)(三)的實(shí)裝只是舉例,需要做幾個(gè)菜單、每個(gè)菜單中需要放置什么內(nèi)容、要用哪個(gè)基礎(chǔ)職業(yè)的熱鍵欄作為菜單、用幾號(hào)熱鍵欄作為菜單欄,這些都由自己的實(shí)際情況和需求而定。其實(shí)我之所以從需求開始一步步講解、而且不只是講怎么做、還詳細(xì)講為什么這么做,正是因?yàn)槊總€(gè)人的實(shí)際情況和需求各不相同,只有徹底理解原理才能真正定制出符合自己需求的菜單系統(tǒng)。這套東西不像那些生產(chǎn)宏一樣copy過去就能用。
讀到這里不難看出,熱鍵欄折疊宏只是這套菜單系統(tǒng)的一個(gè)關(guān)鍵環(huán)節(jié),但遠(yuǎn)非全部,正如在?FF14 手殘黨的福音:熱鍵欄更換宏?中,宏命令“/熱鍵欄 更換 X”只是一個(gè)核心宏命令而遠(yuǎn)非全部一樣。宏永遠(yuǎn)都只是用來解決問題的一個(gè)工具,是整個(gè)解決方案中的一環(huán),僅僅是一環(huán),整個(gè)解決方案的設(shè)計(jì)則有賴于對(duì)游戲設(shè)定、職業(yè)技能循環(huán)和實(shí)際需求的充分理解。從這個(gè)層面來說,我更喜歡把這篇專欄的內(nèi)容稱為“菜單式熱鍵欄方案”而非“熱鍵欄折疊宏”。
三、更便捷的隨時(shí)修改菜單(選讀,不重要)
這套菜單系統(tǒng)是一定會(huì)根據(jù)實(shí)際需求的變化而不斷變化的,比如新增加了職業(yè),或者想調(diào)整一下現(xiàn)有職業(yè)在菜單中的順序,或者常用道具發(fā)生了變化,又或者用膩了現(xiàn)在的幾個(gè)常用表情、想換成別的,這時(shí)就需要修改菜單中的內(nèi)容。
要修改菜單內(nèi)容時(shí),咱們當(dāng)然可以把職業(yè)切換成白魔、然后卸下靈魂水晶使職業(yè)變成幻術(shù)師,或者干脆保存一個(gè)幻術(shù)師套裝、到時(shí)打開套裝列表切換到該套裝,但有個(gè)更簡(jiǎn)單的方法,用以下宏可以快速切換到幻術(shù)師職業(yè),并打開在其他職業(yè)狀態(tài)下不顯示的熱鍵欄:
/套裝 更換 12
/熱鍵欄 顯示 7 開
/熱鍵欄 顯示 8 開
/熱鍵欄 顯示 9 開
/熱鍵欄 顯示 10 開
/熱鍵欄 顯示 6 關(guān)
此宏假設(shè)幻術(shù)師的套裝編號(hào)是12,熱鍵欄7、8、9、10在其他職業(yè)時(shí)是不顯示的,大家可以根據(jù)自己的實(shí)際情況修改其中的編號(hào)或增減語句。因?yàn)檫^于簡(jiǎn)單,我就不講解、也不貼圖演示實(shí)際效果了。專業(yè)一點(diǎn)說,這個(gè)宏是為了給用戶二次開發(fā)提供一個(gè)方便的入口。當(dāng)然,大家還可以根據(jù)需要寫一個(gè)隱藏相關(guān)熱鍵欄的宏,我自己是把這部分功能寫在了其他宏里,這里就不贅述了。
結(jié)語
這篇專欄的坑我很早就挖下了,因?yàn)閲?yán)重的拖延癥,斷斷續(xù)續(xù)寫了一個(gè)多月才寫完,期間對(duì)文章結(jié)構(gòu)和陳述方式反復(fù)修改多次,不斷試圖從小白的視角審視它,因?yàn)槲抑缹戇@種文章最容易犯的錯(cuò)誤就是自己明白的東西就想當(dāng)然的認(rèn)為別人也明白。這篇文章看起來會(huì)很羅嗦,因?yàn)樵噲D把每個(gè)小白可能不懂的點(diǎn)都說到,這個(gè)缺點(diǎn)我盡量用文章結(jié)構(gòu)和段落的優(yōu)化來彌補(bǔ)了,請(qǐng)有興趣的同學(xué)盡量耐心閱讀,這個(gè)過程中有任何問題請(qǐng)隨時(shí)在評(píng)論區(qū)留言。