Skip to content

关于输入设备核心(入门篇)

相关插件

核心插件:

◆Drill_CoreOfInput 系统 - 输入设备核心

由于子插件较多,这里就不全部列举了,章节中会提及相关插件。

入门篇主要介绍 物理按键,并介绍 物理按键 相关插件选择与设计。高级篇主要介绍 逻辑按键,并介绍 逻辑按键 相关插件改键与控制权修改设计。

名词索引

以下你可以按住ctrl键点击下面的词,可以直接定位到想了解的名词:

输入设备输入设备 启用/禁用设备物理按键与逻辑按键
键盘键盘的物理按键
手柄手柄的物理按键 在游戏中查看多个手柄连接情况
鼠标鼠标的物理按键
触屏触屏的物理按键

输入设备

定义

输入设备: 指计算机输入数据和信息的设备。

目前可用的输入设备有四种:键盘、手柄、鼠标、触屏。

输入设备的接口中:

键盘只有一个,手柄可以有零个或多个,鼠标只有一个,触屏只有一个。

输入设备的定义很广泛,摄像头、话筒、扫描仪、手绘板等都属于输入设备,只是目前能用的输入设备只有这些。
官网有关于 键盘、手柄 按键的部分说明:(简单看看就好,介绍没那么详细)http://help.rpgmakermv.cn/#page/01_06.html!cn

启用/禁用设备

输入设备核心中能直接自定义设备 启用/禁用:

核心还提供了插件指令,

也可以控制 启用/禁用、开启/关闭 设备。(启用/开启 两词意思一样)

物理按键与逻辑按键

1)定义区别

物理按键: 指真实世界键盘/手柄/鼠标/触屏上存在的按键,比如z,x,c,v键等。

逻辑按键: 指游戏中用于划分特定功能的按键,比如确定键,取消键,跳跃键等。

二者最大的区别,就是物理按键不能改键,但是逻辑按键能改键。

逻辑按键这里只简单介绍,详细内容会在高级篇中进行说明。

2)子插件说明

子插件在“输入设备”的条目中,会对 物理按键/逻辑按键 支持情况,作专门说明。

插件的 插件指令、事件注释、分支条件 等,

也会特别标记 “物理按键” 或 “逻辑按键” 字样。

3)设计差异

对于大部分游戏来说,

只要按键能通过插件控制具体功能,这就足够了。

至于是物理按键还是逻辑按键,也就一个改键的区别。

> 小型游戏的按键设计

在游戏最初,就告诉玩家有哪些固定按键,通过按键操作即可。

> 大型游戏的按键设计

大型游戏通常会专门去考虑逻辑按键,支持改键。

因为玩家会对操作习惯有具体需求。

键盘

定义

键盘: 是最常用也是最主要的输入设备,可以将英文字母、汉字、数字、标点符号等输入到计算机中,从而向计算机发出命令、输入数据等。

键盘设备只能连接一个,连接多个键盘没用。

键盘的物理按键

1)常规按键

键盘的物理按键可以使用 字母、数字 的关键字,

如 a b A B 1 2 等,字母大小写都可以。

你还可以设置特殊的键盘按键,填入以下字符关键字:

Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12

~ - = [ ] \ ; ' , . /

Tab Shift Ctrl Alt Backspace 上 下 左 右 空格 Enter

PageUp PageDown End Home Insert Delete

小键盘的关键字如下:

Num0 Num1 Num2 Num3 Num4 Num5 Num6 Num7 Num8 Num9

Num* Num+ Num- Num. Num/ NumEnter

以键盘响应开关插件为例,物理按键在插件中的写法如下:

注意,如果你想配置键盘的 空格,那么要填"空格",而不是" "。

2)功能固定的按键

键盘中有一些直连底层功能的按键,如下:

物理按键“F5”: 立即重启游戏。

物理按键“F12”: steam截图。

设计游戏时,注意避开这些 物理按键。

奇怪的键盘按键

键盘中有一些奇怪的按键,如下:

Fn按键: 笔记本的特殊功能键,控制笔记本的硬件设备用。

Windows按键: win操作系统的专用按键,主要用于操作系统的桌面控制。

也有一些特殊的外接键盘按键,如下图。

键盘的奇怪按键,都不算 物理按键,因为并不是所有键盘都有这些按键,所以设计游戏不要考虑奇怪按键的情况。
注意,电脑的电源键/重启键,既不是键盘按键,也不是物理按键。因为这个按键已经完全与游戏无关了,不要看见什么能按的东西都理解为是物理按键。

手柄

定义

手柄: 是指一种电子游戏机的输入设备,通过操纵其按钮等,可以实现对电脑上模拟角色等的控制。

主手柄: 指能控制玩家的那个手柄。

因为手柄设备可以连接多个,可见 在游戏中查看多个手柄连接情况

连接多个手柄时,只有主手柄才能控制玩家,其他手柄需要子插件支持才能控制。

手柄的物理按键

你可以设置手柄按键,填入以下字符关键字:

A B X Y LB RB LT RT

SELECT START 左摇杆按键 右摇杆按键

按键上 按键下 按键左 按键右

左摇杆上 左摇杆下 左摇杆左 左摇杆右

右摇杆上 右摇杆下 右摇杆左 右摇杆右

大部分游戏中,按键的上/下/左/右 等同于 左摇杆的上/下/左/右,

但从物理按键的角度来看,二者是不同键位,设计时注意区分。

另外,现在的手柄设计都主要以左摇杆来控制移动,按键反而很少用。

以手柄响应开关插件为例,物理按键在插件中的写法如下:

设计时注意 按键 和 左摇杆 的触发,是分开支持,还是一起支持。

奇怪的手柄按键

作者我的一个手柄背面有这四个按键,

实际操作时这些按键充当了 LB、RB、LT、RT这四个按键。

手柄的奇怪按键,都不算 物理按键,因为并不是所有手柄都有这些按键,所以设计游戏不要考虑奇怪按键的情况。

鼠标

定义

鼠标: 是计算机的一种外接输入设备,也是计算机显示系统纵横坐标定位的指示器,因形似老鼠而得名(也有称呼为滑鼠)。鼠标的使用是为了使计算机的操作更加简便快捷,来代替键盘那繁琐的指令。

鼠标设备只能连接一个,连接多个鼠标没用。

鼠标的物理按键

鼠标有三个键位:左键、中键/滚轮、右键。

鼠标中键与鼠标滚轮是同一个键。

鼠标滚轮的 上滚和下滚 只在特殊情况下能支持,需要看具体应用场景。

鼠标悬停:指鼠标指针移动到指定的范围内,触发按钮的功能。

以鼠标响应开关插件为例,物理按键在插件中的写法如下:

鼠标由于按键数量有限,具体要看子插件的指令是什么样的。通常都会叫“左键”“滚轮”“右键”。

奇怪的鼠标按键

有一些鼠标会多出这两个按键:

左侧这两个键默认是网页的前进和后退键,点击即可前进,后退网页(类似于滚轮)。

有些带有宏编程功能的游戏鼠标,还可以自定义这两个按键。

鼠标的奇怪按键,都不算 物理按键,因为并不是所有鼠标都有这些按键,所以设计游戏不要考虑奇怪按键的情况。

鼠标控制方法

1)游戏默认

功能鼠标触屏
移动左键点击目的地轻触目的地
确定左键点击目标轻触目标
取消右键点击双指轻触
加速移动到目的地时自动加速移动到目的地时自动加速
菜单右键点击双指轻触
上一页左键点击选项框滚动小箭头轻触选项框滚动小箭头
下一页左键点击选项框滚动小箭头轻触选项框滚动小箭头
页面滚动(特殊)滚轮滚动

2)地图界面点击

地图界面点击时,可以使用下面插件进行辅助。

◆Drill_OperateHud 鼠标 - 鼠标辅助操作面板

具体去看看 “14.鼠标 > 关于鼠标辅助操作面板.docx”。

3)菜单数量面板

在用到菜单窗口中,输入数字的功能时,会自动弹出菜单数量面板:

功能按钮鼠标触屏
+1数量http://help.rpgmakermv.cn/inc/img/01_06_img02.png点击目标轻触目标
-1数量http://help.rpgmakermv.cn/inc/img/01_06_img03.png点击目标轻触目标
+10数量http://help.rpgmakermv.cn/inc/img/01_06_img04.png点击目标轻触目标
-10数量http://help.rpgmakermv.cn/inc/img/01_06_img05.png点击目标轻触目标
确定http://help.rpgmakermv.cn/inc/img/01_06_img06.png点击目标轻触目标

触屏

定义

触屏: 又称为“触控屏”、“触控面板”,是一种可接收触头等输入讯号的感应式液晶显示装置,当接触了屏幕上的图形按钮时,屏幕上的触觉反馈系统可根据预先编程的程式驱动各种连结装置,可用以取代机械式的按钮面板,并借由液晶显示画面制造出生动的影音效果。

大部分手机已经具备触屏功能,所以设计游戏时,需要考虑一下支持情况。

触屏的物理按键

单指轻触: 指用一根手指接触屏幕。

双指轻触: 指用两根以上的手指接触屏幕。

注意,浏览器中对于 触屏滑动、双指外滑内滑 都提供有相应的接口,但是由于本身游戏中对于触屏的扩展性并不高。(drill插件也很少考虑手机的功能支持)因此,这里只提及,并不深入研究。

子插件介绍

【键盘 - 秘籍输入器】

插件为:

Drill_SecretCode 键盘 - 秘籍输入器

插件输入指定特殊序列的 鼠标/键盘/手柄 按键,可以触发指定公共事件。

该插件只匹配键盘/手柄的 物理按键,不支持 逻辑按键。并且键盘/手柄按键不要出现 菜单键 对应的物理按键。因为进入菜单返回地图后,按键会被重新统计。

【物理按键的触发】

1)插件介绍

物理按键的触发,是一堆插件,如下:

Drill_EventKeyboradSwitch 物体 - 键盘响应开关

Drill_EventMouseSwitch 物体 - 鼠标响应开关

Drill_EventMouseHoverSwitch 物体 - 鼠标悬停响应开关

Drill_EventPadSwitch 物体 - 手柄响应开关

Drill_PictureMouseHoverTrigger 图片 - 鼠标悬停触发图片

Drill_WhenKeyboradTriggered 公共事件 - 键盘触发公共事件

Drill_WhenPadTriggered 公共事件 - 手柄触发公共事件

Drill_WhenMouseTriggered 公共事件 - 鼠标触发公共事件

Drill_OperateKeyboradConditionBranch 键盘 - 键盘的分支条件

Drill_OperatePadConditionBranch 键盘 - 手柄的分支条件

Drill_MouseConditionBranch 鼠标 - 鼠标的分支条件

这些插件有 开关触发 和 公共事件触发 两种触发类型。

(如果你不了解什么是触发,可以去看看“8.物体 > 触发的本质.docx”)

2)如何选择插件

上面插件很多,但大致可以分成下面几种类型的插件:

支持物理按键作用界面作用对象/条件支持单次触发/持续触发
插件 - 响应开关键盘、手柄、鼠标只地图界面作用于事件单次触发、持续触发
插件 - 图片触发只鼠标地图界面、战斗界面作用于图片单次触发
插件 - 公共事件键盘、手柄、鼠标地图界面、战斗界面无条件,直接触发单次触发
插件 - 分支条件键盘、手柄、鼠标地图界面、战斗界面无条件,直接判定(只判断是否被按住)
任何插件都有优点和缺点,没有完美的插件。因此,你需要根据 自己的需要 来选择插件,也可以全都加上,去实现具体功能。

3)插件 - 响应开关

响应开关插件能在物理按键按下/释放/双击时 触发独立开关。

在 机关管理层 有专门介绍。(你也可以去看看“8.物体 > 大家族-开关.docx”)

插件支持 持续触发。

插件支持 单次触发的 按下[一帧]、释放[一帧]、双击[一帧]。

但这类插件的缺点是:只能在地图界面中执行。

4)插件 - 图片触发

图片触发插件能支持鼠标悬停在图片时,按下/释放/双击时 触发公共事件。

在 图片管理层 有专门介绍。(也可以看“16.图片 > 关于图片与鼠标控制核心.docx”)

插件不支持 持续触发。

插件支持 单次触发的 按下[一帧]、释放[一帧]、双击[一帧]。

由于鼠标+图片的操作特别灵活,情况较多,一不小心鼠标就可能滑出图片范围,所以最好去看看“16.图片 > 关于图片与鼠标控制核心.docx”中的介绍。

5)插件 - 公共事件

公共事件插件能物理按键按下/释放/双击时 执行公共事件。

在 键盘管理层 有专门介绍。

插件不支持 持续触发。

插件支持 单次触发的 按下[一帧]、释放[一帧]、双击[一帧]。

如果公共事件监听的是方向键。那么要注意玩家可能会一直按住方向按键,公共事件插件就不好判断了。

6)插件 - 分支条件

分支条件插件能支持通过分支条件判断 物理按键是否被按住。

在 键盘管理层 有专门介绍。

插件支持 持续触发。

插件不支持 单次触发的 按下[一帧]、释放[一帧]、双击[一帧] 的监听。

从零开始设计(DIY)

在游戏中查看DEBUG物理按键

1. 设置一个目标

虽然作者我在这个文档里面介绍了一大堆的 物理按键,

但真要理解什么是物理按键,

还要通过游戏示例才能知道。

于是作者我打算专门介绍一下如何通过插件指令查看 物理按键。

2. 结构规划/流程梳理

只用到了核心插件:

◆Drill_CoreOfInput 系统 - 输入设备核心

插件中有下面的插件指令:

3. 配置事件

在地图中放置一个事件,执行指令后就能打开DEBUG按键窗口了。

游戏中测试执行指令后,会显示下图的窗口。

按任意键盘的物理按键,就会变亮。

手柄、鼠标的 物理按键窗口 的配置方法同理。

由于这个窗口只是用于DEBUG(排错)临时用,所以刷菜单界面后,该窗口会消失。

在游戏中查看多个手柄连接情况

1. 设置一个目标

前面输入设备的定义中( 输入设备 ),提到了手柄可以连接 零个或多个。

这也就意味着,输入设备能支持很多种搭配连接,

比如:键盘+手柄、双手柄 的操作情况。

游戏的单机多人的确可以实现,

但在实现功能前,先要确保手柄是否能够连接上。

作者我这里只是确保了 输入设备核心 能支持多手柄的基础功能。但具体玩法和功能,需要 新的子插件 来专门提供支持。

2. 结构规划/流程梳理

只用到了核心插件:

◆Drill_CoreOfInput 系统 - 输入设备核心

插件中有下面的插件指令:

3. 配置事件

在地图中放置一个事件,执行指令后就能打开DEBUG按键窗口了。

打开全部窗口后,如下图。

手柄支持4个连接口,并且 手柄连接的口 经常是随机的。

(正在游戏时可以通过usb或蓝牙直接连入手柄,不需要重启游戏)

主手柄: 指能控制玩家的那个手柄。如果你连接了多个手柄,输入设备核心只会选择id最小的一个 可用手柄 作为主手柄。

设计鼠标点击时显示一次小星星爆炸

1. 设置一个目标

2024年2月29日,作者我想起了之前在浏览博客园的时候,鼠标点击会出现有趣的粒子效果。于是作者我开坑了。

这里介绍的是鼠标点击出现小爆炸效果。鼠标划动出现粒子,去看:“1.系统 > 大家族-粒子效果.docx”。

2. 结构规划/流程梳理

小星星爆炸用到了插件:

◆Drill_GaugeFloatingBlastParticle 地图UI - 临时粒子小爆炸

◆Drill_BattleFloatingBlastParticle 战斗UI - 临时粒子小爆炸

由于小星星爆炸在战斗界面和地图界面都能运行,

所以这里使用 鼠标触发公共事件:

Drill_WhenMouseTriggered 公共事件 - 鼠标触发公共事件

因此,小爆炸效果不需要专门写一个插件,用事件自定义是能实现的。

3. 绑定公共事件

在鼠标触发公共事件中,添加绑定:

然后在公共事件中,获取鼠标位置,

然后再把位置给小爆炸播放。

在游戏中测试,可以看见鼠标点击时会出现小爆炸。

只不过这里的小爆炸太密集了,需要重新设计粒子效果。

4. 粒子设计

这里新建一个粒子小爆炸效果:

小爆炸使用 鼠标拖动 用的星星:

数量少一点(数量太多了不好看)

将小爆炸关联的样式,改成新建的效果样式。

然后在游戏中测试如下图。

5. 战斗界面与地图界面区分

最初的写法会造成 地图进入战斗、战斗回到地图时,出现粒子大量残留的问题。

因此,战斗界面执行的指令 和 地图界面执行的指令,要分开放,如下图。

这样就不会出现 指令残留 的问题了。

常见问题(FAQ)

量子妹在示例中的图书馆剧情卡住

问题名称量子妹在示例中的图书馆剧情卡住
问题图示
问题描述这是作者我遇到的问题,在触发量子妹离队的 剧情 时,玩家就一直卡住不动了。(这个问题要引起重视,因为 游戏剧情设计 经常会遇到
出现时机> 使用键盘控制玩家触发此剧情,不会卡住。> 使用鼠标控制玩家触发此剧情,会卡住。
原理解析示例中提供了公共事件[240] 鼠标触屏-小爆炸效果,这个公共事件在 每次 鼠标点击时,会并行对 变量[25,26] 进行一次赋值。这也就意味着,变量[25,26] 会被特别频繁使用,要当心其它功能使用 变量[25,26] 时,一定不能出现等待。而示例中 瞎改编故事图书馆 ,作者我就不小心写了下面的指令。变量[25,26] 赋值后,没有立即使用,而是出现了等待。这种情况下游戏时不停地点击鼠标,量子妹会被突然传送到300,300的位置,造成了事件指令卡死的bug。
解决方案检查所有 变量[25,26] 的指令是不是穿插了等待指令。修复后如下图。

贡献者

暂无相关贡献者

页面历史

暂无最近变更历史