关于输入设备核心(高级篇)
基础要求
先尝试回答下面的问题:什么是输入设备?电源键是不是物理按键?如何知道手柄设备是否连接了电脑?只支持物理按键,能设计出完整的游戏吗? |
如果你对上述问题有疑问,那么说明你还不了解 输入设备。
需要去看看:”1.系统 > 关于输入设备核心(入门篇).docx
”。
入门篇主要介绍 物理按键,并介绍 物理按键 相关插件选择与设计。高级篇主要介绍 逻辑按键,并介绍 逻辑按键 相关插件改键与控制权修改设计。 |
逻辑按键后面会专门写个大的统一插件,但现在暂时保持现在这样。 |
相关插件
核心插件:
◆Drill_CoreOfInput 系统 - 输入设备核心
主要子插件:
◆Drill_OperateKeys 键盘 - 键盘手柄按键修改器
◆Drill_OperateHud 鼠标 - 鼠标辅助操作面板
其它子插件较多,这里就不全部列举了,章节中会提及相关插件。
逻辑按键后面会专门写个大的统一插件,但现在暂时保持现在这样。 |
建议先了解并区分两个重要概念:物理按键 和 逻辑按键 。键盘与手柄相关可以去看看对应的关系表:按键关系表 。 |
官网有关于 键盘、手柄 按键的部分说明:(简单看看就好,介绍没那么详细)http://help.rpgmakermv.cn/#page/01_06.html!cn |
名词索引
以下你可以按住ctrl键点击下面的词,可以直接定位到想了解的名词:
输入设备 | 输入设备 启用/禁用设备 |
键盘与手柄(概念介绍) | 物理按键 逻辑按键 按键映射基本键 扩展键单键 手柄的功能键 键盘的A键B键 |
键盘与手柄(按键说明) | 所有加速键 按键关系表 |
鼠标与触屏(概念介绍) | 鼠标按键 鼠标悬停 鼠标滚轮单指轻触 双指轻触 |
键盘与手柄
定义
物理按键: 指真实世界键盘上存在的按键,比如z,x,c,v键等。
逻辑按键: 指游戏中用于划分特定功能的按键,比如确定键,取消键,跳跃键等。
按键映射: 是指 物理按键 映射到 逻辑按键 的过程。
一个正常的按键流程如下:
物理按键不能改键。逻辑按键可以自定义改键。你可以直接见后面章节 3)使用Debug窗口直接测试 ,通过Debug窗口测试并理解 物理按键与逻辑按键 。 |
快速理解(什么是逻辑按键)
这里几个逻辑按键的例子:
1)任意键
任意键 在键盘上并不是真实存在的,你按一个“a”键,就能够触发 任意键。
(在电脑刚刚普及的时候,曾有大量用户打电话给厂商问任意键在键盘上哪个地方……)
但是,游戏中的“任意键”真的就是任意的键了吗?我按一下“ctrl键”,你看看那个游戏会不会有反应。
因此,任意键是一个我们在口头上用于表示一个功能的按键,而这些按键并不唯一。
具体还与游戏设置有关系。
2)确定键
接着,什么是确定键? 同样的道理,”z”键,是确定键;按”回车”,也是确定键。
多个真实物理的按键,可以表示同样的 确定键,可见,确定键也不是唯一的按键。
这种多个 物理按键 表示同一个 逻辑按键 的过程,称为“按键映射”。
你可以通过插件修改 确定键 的按键映射,具体可以看看后面章节: 修改按键映射。
3)使用Debug窗口直接测试
键盘管理层 中,有事件能够直接打开物理按键与逻辑按键的测试窗口。
你可以比较两个窗口的触发情况来理解 物理按键与逻辑按键 。
控制方法
你需要通过下面的插件 ,修改表中的 按键 。
◆Drill_OperateKeys 键盘 - 键盘手柄按键修改器
1)基本键/扩展键
基本键: 基本键属于 逻辑按键,特点是 相互 不能对应重复的 物理按键,否则可能导致按键失效。
比如 确定键和取消键,不能用同一个 物理按键(比如g键)表示,因为你按g键后,系统既会执行确定功能,又会执行取消功能,相互冲突。
扩展键: 扩展键属于 逻辑按键,特点是可以对应重复的物理按键。
比如 举起花盆和投掷花盆 ,可以用同一个键位映射。
2)手柄的功能键
单键: 指按住 单个键 就能触发的逻辑按键设置。
手柄的功能键: 指按住 功能键+其它键 组合才能触发逻辑按键设置。
因为手柄的键位少,所以为了支持更多功能,可以使用 功能键+其它键 的按键方式。
3)键盘的A键+B键
单键: 指按住 单个键 就能触发的逻辑按键设置。
键盘的A键+B键: 指按住 键盘的两个键 组合才能触发的逻辑按键的设置。
此设置比 手柄的功能键 灵活的多,你可以通过此方法定义多种不同的功能键。
注意,A键+B键只能在 扩展键 中设置,基本键 会提示不允许。
详细配置方法可以看看后面章节:设计一个同时按T和Y才能放炸弹的按键 。
注意,如果你想配置键盘的 空格,那么要填”空格”,而不是” ”。![]() |
4)按键倒置效果
这里指对 方向键 上/下/左/右 进行倒置。
相似按键说明
1)所有加速键
游戏中所有的加速键如下表:
游戏功能 | 键盘**(物理按键)** | 手柄**(物理按键)** | 逻辑按键 | 所属插件 |
加速 | shift键 | LB键 | 加速键('shift') | 无 |
地图长按加速 | 与 确定键一致(长按) | 与 确定键一致(长按) | 地图加速键('ok') | 无 |
(测试中)游戏整体加速 | Alt键 | 无 | 游戏加速键('speedGear') | Drill_SpeedGear管理器 - 变速齿轮 |
对话加速 | 与 下一页键一致 | 与 下一页键一致 | 对话加速键('pagedown') | Drill_DialogMessageFastSkip窗口字符-对话加速键 |
加速键: 能将移动变为奔跑的按键,能提高玩家在地图界面的移动速度。
地图长按加速: 游戏默认机制,长按能够加速事件的运行速度,包括对话框播放。
该功能直接绑定逻辑按键,必须要 长按确定键 才能生效。
功能相关插件:Drill_LayerRunningSpeed 地图 - 长按加速控制
(测试中)游戏整体加速: 通过变速齿轮,让整个游戏所有内容进行加速的按键。
该功能默认只能在测试版中使用。
功能来自插件:Drill_SpeedGear 管理器 - 变速齿轮
对话加速: 按住按键能瞬间跳过大量对话的按键。(不能跳过等待指令)
该功能直接绑定逻辑按键,可以设定 确定键/上一页键/下一页键 能生效。
功能来自插件:Drill_DialogMessageFastSkip 窗口字符 - 对话加速键
按键关系表
所有可用的按键如下表所示:
游戏功能 | 键盘(物理按键) | 手柄(物理按键) | 逻辑按键 | 所属插件 |
移动 | 方向键-上、numpad-8键 | 摇杆-上、方向键-上 | 上('up') | 无 |
移动 | 方向键-下、numpad-2键 | 摇杆-下、方向键-下 | 下('down') | 无 |
移动 | 方向键-左、numpad-4键 | 摇杆-左、方向键-左 | 左('left') | 无 |
移动 | 方向键-右、numpad-6键 | 摇杆-右、方向键-右 | 右('right') | 无 |
确定 | enter回车、空格、z键 | A键 | 确定键('ok') | 无 |
取消 | Esc键、Insert键、x键、numpad-0键 | B键 | 取消键('cancel') | 无 |
加速 | shift键 | LB键 | 加速键('shift') | 无 |
菜单 | Esc键、Insert键、x键、numpad-0键 | Y键 | 菜单键('menu') | 无 |
上一页 | PgUp键、q键 | LT键 | 上一页('pageup') | 无 |
下一页 | PgDn键、w键 | RT键 | 下一页('pagedown') | 无 |
地图长按加速 | 与 确定键 一致(长按) | 与 确定键 一致(长按) | 地图加速键('ok') | 无 |
辅助tab | Tab键 | 无 | 辅助Tab键('tab') | 无 |
(测试中)Debug | F9键 | 无 | Debug键('debug') | 无 |
(测试中)穿墙 | Ctrl键 | 无 | 穿墙键('control') | 无 |
(测试中)游戏整体加速 | Alt键 | 无 | 游戏加速键('speedGear') | Drill_SpeedGear管理器 - 变速齿轮 |
跳跃 | q键 | X键 | 跳跃键('jump') | Drill_Jump互动-跳跃能力 |
原地转向 | w键 | 功能键 + 方向键 | 原地转向键('rotate') | Drill_RotateDirection互动-原地转向能力 |
举起花盆 | z键 | A键 | 举起花盆键('pick') | Drill_PickThrow互动-举起花盆能力 |
投掷花盆 | z键 | A键 | 举起花盆键('throw') | Drill_PickThrow互动-举起花盆能力 |
放置炸弹 | c键 | 功能键 + X键 | 放置炸弹键('bomb') | Drill_BombCore炸弹人-游戏核心 |
执行公共事件 | 自定义键位(可多个) | 自定义键位(可多个) | 公共事件键('common+数字') | Drill_OperateKeyCommonEvent键盘-键盘手柄触发公共事件 |
对话加速 | 与 下一页键 一致 | 与 下一页键 一致 | 对话加速键('pagedown') | Drill_DialogMessageFastSkip窗口字符-对话加速键 |
FPS开关 | F2键 | 无 | 无 | 无 |
(浏览器) 拉伸开关 | F3键 | 无 | 无 | 无 |
(浏览器) 全屏模式 | F4键 | 无 | 无 | 无 |
重启游戏 | F5键 | 无 | 无 | 无 |
(测试中)开发者模式 | F8键 | 无 | 无 | 无 |
1.辅助tab键在游戏本体中并没有被使用。相关子插件可能会用到该按键。
2.”测试中”的键,是指只在测试中生效的按键,游戏部署后将不再有效。
3.上述按键除了 F2、F3、F4、F5、F8 的功能,其他按键都可以被 按键修改器 插件修改。
鼠标与触屏
定义
鼠标按键: 指鼠标的按键,分为三种: 鼠标左键、鼠标中键(滚轮)、鼠标右键。
鼠标悬停: 指鼠标指针移动到指定的范围内,触发按钮的功能。
鼠标滚轮: 指鼠标滚轮上滚和下滚的功能。
注意,由于鼠标的功能按键太少,所以不存在逻辑按键,更不能实现改键功能。
单指轻触: 指用一根手指接触屏幕。
双指轻触: 指用两根以上的手指接触屏幕。
注意,浏览器中对于 触屏滑动、双指外滑内滑 都提供有相应的接口,但是由于本身游戏中对于触屏的扩展性并不高。(drill插件也很少考虑手机的功能支持)因此,这里只提及,并不深入研究。
控制方法
1)游戏默认
功能 | 鼠标 | 触屏 |
移动 | 左键点击目的地 | 轻触目的地 |
确定 | 左键点击目标 | 轻触目标 |
取消 | 右键点击 | 双指轻触 |
加速 | 移动到目的地时自动加速 | 移动到目的地时自动加速 |
菜单 | 右键点击 | 双指轻触 |
上一页 | 左键点击选项框滚动小箭头 | 轻触选项框滚动小箭头 |
下一页 | 左键点击选项框滚动小箭头 | 轻触选项框滚动小箭头 |
页面滚动(特殊) | 滚轮滚动 | 无 |
2)地图界面点击
地图界面点击时,可以使用下面插件进行辅助。
◆Drill_OperateHud 鼠标 - 鼠标辅助操作面板
具体去看看 “14.鼠标 > 关于鼠标辅助操作面板.docx
”。
3)菜单数量面板
在用到菜单窗口中,输入数字的功能时,会自动弹出菜单数量面板:
功能 | 按钮 | 鼠标 | 触屏 |
+1数量 | 点击目标 | 轻触目标 | |
-1数量 | 点击目标 | 轻触目标 | |
+10数量 | 点击目标 | 轻触目标 | |
-10数量 | 点击目标 | 轻触目标 | |
确定 | 点击目标 | 轻触目标 |
子插件介绍
【键盘 - 键盘手柄触发公共事件】
插件为:
Drill_OperateKeyCommonEvent 键盘 - 键盘手柄触发公共事件
插件支持 键盘 的 A键+B键 的设置。
插件支持 手柄 的 功能键+单键 的设置。
详细可以去示例的 键盘管理层 去看看触发效果。
从零开始设计(DIY)
设计一个同时按T和Y才能放炸弹的按键
1. 设置一个目标
2023年8月20日,作者我没什么灵感,只是写插件的时候,觉得组合键的功能非常强大。
比如定义 q+1、q+2、q+3 可以作为攻击技能槽的快捷键,定义w+1、w+2、w+3可以作为恢复技能槽的快捷键。
此设计主要是为了讲解一下 A键+B键 的设计效果,能更灵活地配置按键设置。
2. 结构规划/流程梳理
用到了下面插件:
Drill_OperateKeys 键盘 - 键盘手柄按键修改器
Drill_BombCore 炸弹人 - 游戏核心
这里的T和Y是指键盘按键,因此,需要设置 键盘-放置炸弹键 参数。
注意,T和Y是 物理按键 ,放置炸弹键是 逻辑按键 ,逻辑按键需要对应/映射物理按键。随时留意前面章节的概念,避免混淆键位关系。
3. 配置基本内容
找到插件的参数位置,如下图:
后续加入新的互动插件时,按键修改器插件也会同步更新更多 扩展键,注意随时保持插件最新。 |
添加”t + y”即可,你也可以写”t+y”,空格可有可无。
在游戏中测试,可以发现单独按 t、y,没有效果,
要同时按 t和y才能放置炸弹。
4. 其他细节
如果你只想临时添加 t+y 的按键,可以通过插件指令临时添加。
不需要的时候,设置去除即可。
手柄按键为一对一,是单独对象,插件指令只能修改按键。键盘按键为一对多,是数组对象,插件指令可设置全部按键,也可以添加/去除按键。 |