基础功能输入管理InputManager本页总览InputManager 描述: InputManager 是一个用于管理输入上下文和动作的类。可以通过创建输入上下文和动作,然后将它们添加到输入管理器中,来实现输入事件的监听和处理。可以通过调用 pushContext 和 popContext 方法来激活和停用特定组合的输入上下文。在触发事件时,可以通过注册全局输入事件监听器来处理输入事件。 类对象:InputManager Class。 用法示例: local InputManager = require("InputManager")local inputManager = InputManager.CreateManager({ context1 = { action1 = Trigger.KeyDown("W"), },})-- 激活上下文 context1inputManager:pushContext("context1")-- 要监听的输入事件名需要加上 `Input.` 前缀node:gslot("Input.action1", function() print("action1 triggered")end)-- 从上下文栈中删除 context1inputManager:popContext()-- 销毁输入管理器inputManager:destroy() getNode 类型: 函数。 描述: 获取当前输入系统使用的场景节点。该节点用于接收输入事件。它在创建后,如果没有被添加到指定的父节点,会在稍后被自动添加到 Director.entry 中。 签名: getNode: function(self: InputManager): Node.Type 返回值: 返回类型描述Node输入系统的场景节点。 pushContext 类型: 函数。 描述: 将指定名称的上下文添加到上下文栈中。会暂时禁用之前生效的上下文,然后激活新上下文中会触发的 动作和事件。 签名: pushContext: function(self: InputManager, contextNames: string | {string}): boolean 参数: 参数名类型描述contextNamesstring{string} 返回值: 返回类型描述boolean上下文是否成功添加和生效。 popContext 类型: 函数。 描述: 从上下文栈中移除并停止当前栈顶在生效的上下文。然后激活前一组上下文。 签名: popContext: function(self: InputManager, count?: number): boolean 参数: 参数名类型描述countnumber[可选] 要移除的上下文数量。默认为1。 返回值: 返回类型描述boolean栈顶上下文是否成功移除。 emitKeyDown 类型: 函数。 描述: 发送按键按下事件到输入系统以模拟输入。 签名: emitKeyDown: function(self: InputManager, keyName: KeyName) 参数: 参数名类型描述keyNameKeyName键的名称。 emitKeyUp 类型: 函数。 描述: 发送按键释放事件到输入系统以模拟输入。 签名: emitKeyUp: function(self: InputManager, keyName: KeyName) 参数: 参数名类型描述keyNameKeyName键的名称。 emitButtonDown 类型: 函数。 描述: 发送按键按住事件到输入系统以模拟输入。 签名: emitButtonDown: function(self: InputManager, buttonName: ButtonName, controllerId?: number) 参数: 参数名类型描述buttonNameButtonName按钮的名称。controllerIdnumber[可选] 游戏手柄控制器的ID。默认为0。 emitButtonUp 类型: 函数。 描述: 发送按键释放事件到输入系统以模拟输入。 签名: emitButtonUp: function(self: InputManager, buttonName: ButtonName, controllerId?: number) 参数: 参数名类型描述buttonNameButtonName按钮的名称。controllerIdnumber[optional] 游戏手柄控制器的ID。默认为0。 emitAxis 类型: 函数。 描述: 发送摇杆变动的事件到输入系统以模拟输入。 签名: emitAxis: function(self: InputManager, axisName: AxisName, value: number, controllerId?: number) 参数: 参数名类型描述axisNameAxisName轴的名称。valuenumber轴的值,取值范围为-1到1。controllerIdnumber[optional] 游戏手柄控制器的ID。默认为0。 destroy 类型: 函数。 描述: 销毁输入管理器并清除在生效的输入事件监听器。 签名: destroy: function(self: InputManager)