RegisterKeyBind

RegisterKeyBind

RegisterKeyBind 函数用于将键盘按键绑定到 Lua 函数。

通过此函数注册的回调,仅在游戏或调试控制台处于焦点时执行。

参数(重载 #1)

# 类型 子类型 说明
1 table Key 要绑定的按键
2 function 按下键盘按键时要执行的回调

参数(重载 #2)

# 类型 子类型 说明
1 integer 要绑定的按键,使用 'Key' 表
2 table ModifierKeys 与 'Key' 参数一起按下的修饰键
3 function 按下键盘按键时要执行的回调

示例(重载 #1)

RegisterKeyBind(Key.O, function()
    print("Key 'O' hit.\n")
end)

示例(重载 #2)

RegisterKeyBind(Key.O, {ModifierKey.CONTROL, ModifierKey.ALT}, function()
    print("Key 'CTRL + ALT + O' hit.\n")
end)

高级示例(重载 #1)

此示例注册按键绑定;只有当前没有打开的界面控件时,回调才会执行操作

local AnyWidgetsOpen = false

RegisterHook("/Script/UMG.UserWidget:Construct", function()
    AnyWidgetsOpen = true
end)

RegisterHook("/Script/UMG.UserWidget:Destruct", function()
    AnyWidgetsOpen = false
end)

RegisterKeyBind(Key.B, function()
    if AnyWidgetsOpen then return end
    print("Key 'B' hit, while no widgets are open.\n")
end)

原文:docs/lua-api/global-functions/registerkeybind.md · 固定提交 560411f18512 · 来源与 MIT 许可