ContextActionService
成员函数
绑定激活 |
解绑激活 |
获取当前所有绑定的事件信息 |
获取当前绑定actionName的事件信息 |
通过绑定名称获取该按钮节点 |
获取当前本地tool图片 |
设置描述 |
设置图片 |
设置位置 |
设置标题 |
绑定一个回调函数到指定输入上 |
void BindContextAtPriority (string actionname, LuaFunction func, bool createTouchBtn, int priority, ReflexVariant hotkey) |
---|
绑定一个回调函数到指定输入上,并指定优先级 |
取消指定的用户绑定 |
void UnbindAllContext () |
---|
移除所有的函数绑定 |
lua回调函数 |
这套新接口) |
这套新接口) |
void BindActionAtPriority (string actionName, LuaFunction func, int priority, int nActionType, int nSubType) |
---|
这套新接口) |
这套新接口) |
void UnbindAllActions () |
---|
这套新接口) |
事件
当绑定行为发生改变时,会触发一个BoundActionChanged时间 |
新增某绑定行为 |
移除某绑定行为 |
代码示例
lua
-- 推荐使用
local ContextActionService = game:GetService("ContextActionService")
ContextActionService:BindContext("WkeydownactionName", function(actionName, inputState, inputObj)
if inputState == Enum.UserInputState.InputBegin.Value then
print("ContextActionService begin", actionName)
else
print("ContextActionService end", actionName)
end
end, false, Enum.KeyCode.W )
-- 即将废弃
local ContextActionService = game:GetService("ContextActionService")
local curActionName = "moveForwardAction"
local function handleMoveForward(actionName, inputState, inputObj)
print(actionName) -- 打印 moveForwardAction
if inputState == Enum.UserInputState.InputBegin.Value then
self.ForwardBackValue = 1
else
self.ForwardBackValue = 0
end
self.LocalCharacter:Move(Vector3.New(self.LeftRightValue,0,self.ForwardBackValue),true)
end
ContextActionService:BindAction(
curActionName,
handleMoveForward,
Enum.ContextActionType.KeyBoard.Value,
Enum.KeyCode.W.Value )