欢迎光临散文网 会员登陆 & 注册

FF14 定制自己的菜单式热键栏(热键栏折叠宏)

2022-01-18 01:47 作者:塔萨达爹  | 我要投稿

热键栏折叠宏可能是很多玩家都听说过的东西,之前很多大佬已经讲过,一些老玩家应该已经用上了,今天想按照从需求开始一步步分析解决问题的思路深入讲解一下,供还没听过和用上的光呆们参考,也算是给之前的专栏 FF14 手残党的福音:热键栏更换宏 填坑吧。

一、为什么要做热键栏折叠宏?

FF14给玩家提供了10个热键栏,用来放置各种技能、道具、情感动作、套装快捷方式等常用指令。这是非常必要的,毕竟你不可能每次使用技能都打开技能书、每次使用道具都打开物品栏、每次发个表情都打开情感动作窗口、每次切换职业都打开角色窗口的“套装列表”,那样太麻烦了,大家肯定希望把这些常用指令拖到热键栏上以方便使用。

FF14提供了10个热键栏,可在此处设置热键栏的形状和显示/隐藏

问题在于,FF14有18个战斗职业、11个采集制作职业,每个人常用的道具、情感动作等也有很多,考虑到最少有3~4个热键栏要固定给各职业来放置各种技能,即便剩下的热键栏能放得下这些指令,也会让整个游戏画面布满热键栏,那体验就太差了。

在各种软件中我们一般是怎么解决这个问题的呢?菜单。任何功能复杂的软件都不会把所有指令全部罗列在界面上,而是会把各种指令按功能分组放入各个菜单,当用户点击菜单栏上某一功能类别的按钮时,软件会把对应功能的菜单弹出来,供用户选择里面的具体指令。我们在FF14中也可以借鉴这种设计思路。

在Excel中点击菜单栏的“文件”按钮时
在Excel中点击菜单栏的“编辑”按钮时

二、怎样实现菜单功能?

参考上面图中所示的Excel界面,我们要实现菜单功能需要做三件事:

  1. 找一个热键栏作为菜单栏,在上面放置多个宏作为菜单入口,就像Excel在菜单栏上放置了“文件”“编辑”“视图”“插入”“格式”等多个按钮一样;

  2. 为上述的每个宏找一个热键栏作为其对应的菜单,在上面放置具体的指令,就像Excel在“文件”菜单上放置了“新建”“打开”“关闭”“保存”等指令、在“编辑”菜单上放置了“撤销”“恢复”“剪切”“复制”等指令一样;

  3. 在上述宏中实装菜单的弹出功能,实现这种效果:当点击作为菜单栏的热键栏中的某个宏时,作为菜单的对应的热键栏就会显示出来。

下面我们就以职业、常用道具、常用情感动作等指令为例,讲一下如何实现以上三件事。

(一)菜单的实装(对应上面的第2件事)

按照自下而上的实装顺序,我们首先要找几个热键栏作为菜单,把各职业(套装快捷方式)和常用的道具、情感动作放进去。我现在已经开启了所有18个战斗职业和11个采集制作职业,而每个热键栏有12格,所以我准备把18个战斗职业的套装快捷方式分开放入两个热键栏,11个采集制作职业放入一个热键栏,常用道具和情感动作各放入一个热键栏。这样算下来,仅仅这些指令就需要占用5个热键栏,如果还有其他功能也要做成菜单的话,需要的热键栏会更多。考虑到各职业还需要最少3~4个热键栏来放置各种技能,这几个菜单就不能占用常用职业的热键栏了,否则热键栏是不够用的,即便现在勉强够用,将来也很难再增加新菜单了。怎么解决这个问题呢?

这里需要插入两个关于热键栏的小知识。

a. 热键栏有两种类型:共用热键栏和非共用热键栏。共用热键栏,顾名思义,是各职业共用的热键栏,如果某个热键栏是共用的,那么无论你切换到哪个职业,看到的该热键栏中的内容都是一样的,如果你在一个职业下改变其中放置的内容,其他所有职业都会看到这个改变;非共用热键栏则相反,如果某个热键栏是非共用的,那么你在职业A下和职业B下可以给这个热键栏放置不同的内容,互不干扰。初始状态下,所有热键栏都是非共用的,你可以根据自己的需要随时在系统 - 角色设置 - 热键栏设置 - 共用标签页中进行修改(用宏命令也可以修改,在此就不赘述了)。

在此处可以设置热键栏是否为共用

b. 很多职业是有前置基础职业的,比如斧术师是战士的前置基础职业,剑术师是骑士的前置基础职业,其他还有格斗家-武僧、枪术师-龙骑士、双剑师-忍者、弓箭手-吟游诗人、咒术师-黑魔法师、秘术师-召唤师/学者、幻术师-白魔法师。虽然在经验获取上,后面的职业与它们对应的前置基础职业看起来像是一个职业,但实际上系统认为它们是两个职业,这不仅体现在限定职业的任务上(比如你用某个职业接了任务,是不能用它的前置基础职业交任务的),也体现在热键栏上——大家应该都有过这种经历,当你的某个基础职业升到一定级别做了转职任务并装备上灵魂水晶之后,你之前按照自己的使用习惯在热键栏中安排的技能是需要重新安排的。

讲完这两个热键栏小知识,我们就知道作为菜单的热键栏应该从哪里找了——我们可以用那些基础职业的热键栏,毕竟没人在转职后还用基础职业来战斗。这次我以白魔的前置基础职业幻术师为例,把它的10、9、8、7、3号热键栏作为菜单,先确认它们是非共用的,然后把套装快捷方式、常用道具、情感动作拖进去,放好之后的效果如下:

幻术师的非共用热键栏10、9、8、7、3作为菜单,已拖入我想要的各种快捷指令

我在这里只是举个例子,你可以根据自己的职业情况选择基础职业,根据自己的实际需要在菜单里放任何东西,顺序、间隔也可以随自己的喜好进行调整。至此,我们的5个菜单就做好了,下一步我们做菜单栏。

(二)菜单栏的实装(对应上面的第1件事)

首先,我们要找一个热键栏作为菜单栏。因为我们放入菜单的这些指令在各职业下都会用到,所以作为入口的菜单栏肯定要设置为共用,在这个例子中,我们把共用热键栏5作为菜单栏。

其次,我们要写5个宏来对应上面的5个菜单,这些宏可以先设好图标和名称,内容先空着。

最后,我们把这些宏拖到作为菜单栏的共用热键栏5中,最终效果如下图所示:

现有的宏太多了,只好找了个缝隙写这个例子用的宏

至此,菜单栏也做好了,剩下的就是实现菜单的弹出功能。

(三)菜单弹出功能的实装(对应上面的第3件事)

首先,我们把共用热键栏6拖到共用热键栏5的右侧,作为显示菜单的载体,如图:

共用热键栏6作为显示菜单的载体,放在菜单栏旁边

然后,我们在前述的5个空壳宏中分别填入以下内容:

①采集制作职业:
/热键栏 复制 幻术师 10 共通 6
/热键栏 显示 6 开
/等待 3
/热键栏 显示 6 关

②近战职业:
/热键栏 复制 幻术师 9 共通 6
/热键栏 显示 6 开
/等待 3
/热键栏 显示 6 关

③远程职业:
/热键栏 复制 幻术师 8 共通 6
/热键栏 显示 6 开
/等待 3
/热键栏 显示 6 关

④常用道具:
/热键栏 复制 幻术师 7 共通 6
/热键栏 显示 6 开
/等待 3
/热键栏 显示 6 关

⑤常用情感动作:
/热键栏 复制 幻术师 3 共通 6
/热键栏 显示 6 开
/等待 3
/热键栏 显示 6 关

这些宏就是所谓的热键栏折叠宏。其中,"/热键栏 复制 幻术师 X 共通 6"的作用是把幻术师的非共用热键栏X中的内容全盘复制到共用热键栏6中,“/热键栏 显示 6 开/关”的作用是显示/隐藏热键栏6。通过控制共用热键栏6的显示/隐藏和其中的内容,就做出了弹出式菜单的感觉。

点击这些宏时,对应菜单(共用热键栏6)的弹出情况如下面五张图所示(请与幻术师的10、9、8、7、3号热键栏中的内容对照):

点击“采集制作职业”宏时
点击“近战职业”宏时
点击“远程职业”宏时
点击“常用道具”宏时
点击“常用情感动作”宏时

“/等待 3”的作用是使菜单弹出3秒后自动关闭,这个等待时间可以根据自己的习惯修改。其实菜单弹出后等待一段时间自动关闭的行为跟其他软件中菜单的行为还是有差距的,还有一种更好的实装方式,能实现点击弹出、再点击关闭、且在菜单弹出状态下点击其他热键栏折叠宏时弹出其他菜单而不是关闭菜单,但由于需要改变热键栏布局或者需要其他宏配合,太复杂了,这里就先不说了,毕竟现在这种实装方式也算够用了,如果有光呆用后觉得现在的实装方式体验不好,可以再来问我。

(★)总结

至此咱们的菜单系统就完成了。再强调一下,以上(一)(二)(三)的实装只是举例,需要做几个菜单、每个菜单中需要放置什么内容、要用哪个基础职业的键栏作为菜单、用几号热键栏作为菜单栏,这些都由自己的实际情况和需求而定。其实我之所以从需求开始一步步讲解、而且不只是讲怎么做、还详细讲为什么这么做,正是因为每个人的实际情况和需求各不相同,只有彻底理解原理才能真正定制出符合自己需求的菜单系统。这套东西不像那些生产宏一样copy过去就能用。

读到这里不难看出,热键栏折叠宏只是这套菜单系统的一个关键环节,但远非全部,正如在 FF14 手残党的福音:热键栏更换宏 中,宏命令“/热键栏 更换 X”只是一个核心宏命令而远非全部一样。宏永远都只是用来解决问题的一个工具,是整个解决方案中的一环,仅仅是一环,整个解决方案的设计则有赖于对游戏设定、职业技能循环和实际需求的充分理解。从这个层面来说,我更喜欢把这篇专栏的内容称为“菜单式热键栏方案”而非“热键栏折叠宏”。

三、更便捷的随时修改菜单(选读,不重要)

这套菜单系统是一定会根据实际需求的变化而不断变化的,比如新增加了职业,或者想调整一下现有职业在菜单中的顺序,或者常用道具发生了变化,又或者用腻了现在的几个常用表情、想换成别的,这时就需要修改菜单中的内容。

要修改菜单内容时,咱们当然可以把职业切换成白魔、然后卸下灵魂水晶使职业变成幻术师,或者干脆保存一个幻术师套装、到时打开套装列表切换到该套装,但有个更简单的方法,用以下宏可以快速切换到幻术师职业,并打开在其他职业状态下不显示的热键栏:

/套装 更换 12
/热键栏 显示 7 开
/热键栏 显示 8 开
/热键栏 显示 9 开
/热键栏 显示 10 开
/热键栏 显示 6 关

此宏假设幻术师的套装编号是12,热键栏7、8、9、10在其他职业时是不显示的,大家可以根据自己的实际情况修改其中的编号或增减语句。因为过于简单,我就不讲解、也不贴图演示实际效果了。专业一点说,这个宏是为了给用户二次开发提供一个方便的入口。当然,大家还可以根据需要写一个隐藏相关热键栏的宏,我自己是把这部分功能写在了其他宏里,这里就不赘述了。

结语

这篇专栏的坑我很早就挖下了,因为严重的拖延症,断断续续写了一个多月才写完,期间对文章结构和陈述方式反复修改多次,不断试图从小白的视角审视它,因为我知道写这种文章最容易犯的错误就是自己明白的东西就想当然的认为别人也明白。这篇文章看起来会很罗嗦,因为试图把每个小白可能不懂的点都说到,这个缺点我尽量用文章结构和段落的优化来弥补了,请有兴趣的同学尽量耐心阅读,这个过程中有任何问题请随时在评论区留言。

FF14 定制自己的菜单式热键栏(热键栏折叠宏)的评论 (共 条)

分享到微博请遵守国家法律