Unity小技巧——为自定义方法添加快捷键

本文介绍如何在Unity编辑器环境中为自定义方法配置快捷键,包括使用Shortcut特性的具体方法及注意事项。

前言

大家好,本文将会为大家讲解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 则是按下会一直触发,在快捷键管理窗口中以 淡粉色 标志.
至此,如果我们只是想简单地给编辑时方法添加一个快捷键的话,目前的内容已经足够了,但是还有个窗口的传入参数没有讲,我们下期再见吧!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值