Unity小技巧——为自定义方法添加快捷键
前言大家好,本文将会为大家讲解Unity如何在编辑器环境下为自定义方法配置快捷键.正文首先创建一个脚本,在文件头加入: using UnityEditor.ShortcutManagement;随便写一个类,定义一个静态, 无参 或者只有一个ShortcutArguments类型参数的方法:static void TestFun(ShortcutArguments arguments) {...
·
前言
大家好,本文将会为大家讲解Unity如何在编辑器环境下为自定义方法配置快捷键.
正文
首先创建一个脚本,在文件头加入:
using
UnityEditor
.
ShortcutManagement
;
随便写一个类,定义一个 静态 , 无参 或者 只有一个ShortcutArguments类型 参数的方法:
static
void
TestFun
(
ShortcutArguments
arguments
)
{
}
给这个方法添加 Shortcut 特性
[
Shortcut
(
)
]
根据 Shortcut文档 的表述,该特性一共有4个参数,分别是
-
id
string 类型,表示该快捷键的名称以及身份号,可以用 斜杠 / 分级(总共两级),第二级可以使用中文,例如"MyShortCut/快捷键测试".
-
context
Type 类型,该参数限定为 EditorWindow 的子类(测试的时候还提示可以是UnityEditor.ShortcutManagement.IShortcutToolContext 接口类型的实现类,但是我在2021版本并没有找到这个接口),在添加了这个参数后,可以通过方法中的参数获取到当前窗口的信息,换句话说,这个参数是用于 限定 快捷键生效于哪些窗口.
-
defaultKeyCode
KeyCode 类型,看到这个类型大家都懂的,就是触发用的哪个键.
-
defaultShortcutModifiers
ShortcutManagement.ShortcutModifiers 类型,可以理解为组合键,功能键,这个参数是个flag枚举类型,包括Ctrl键(Mac为Control键),Alt键(Mac为Option键)以及Shift键,使用的时候组合起来.
--------你好我是 -------- 分割线 --------
让我们完善一下代码:
[
Shortcut
(
"MyShortcut/你好"
,
KeyCode
.
H
,
ShortcutModifiers
.
Action
)
]
static
void
TestFun
(
ShortcutArguments
arguments
)
{
Debug
.
Log
(
"Hello World "
)
;
}
接下来回到Unity中 等待编译 ,然后在 Edit=>Shortcuts打开快捷键窗口:

可以看到我们写的方法已经显示在界面中了:

如果我们添加的快捷键与现有快捷键存在冲突的话,往上翻,可以在 Category 窗口中找到 Binding Conflicts 项目,在这里会列出冲突的键位.
除此之外还有 ClutchShortcut 特性,被称为离合式快捷键,语法一致,区别在于只有在按下和松开的时候触发,而 Shortcut 则是按下会一直触发,在快捷键管理窗口中以 淡粉色 标志.
至此,如果我们只是想简单地给编辑时方法添加一个快捷键的话,目前的内容已经足够了,但是还有个窗口的传入参数没有讲,我们下期再见吧!
更多推荐
所有评论(0)