创建测试脚本TestInputSystem(命名可随意),我们需要使用之前的 TestInputControls ,通过监听 started 和 canceled 实现按键按下抬起操作。具体可参考下述代码 // 输入控制类的实例privateTestInputControls InputControls;voidOnEnable(){ InputControls =newTestInputControls();// 创建输入控制实例InputControls.Player.Fire...
如果不喜欢PlayerInput组件,但依然想使用ActionAsset资源的话也是可以的,在此前创建好的ActionAsset资源的检视面板里勾选上Generate C# Class,选择路径,设置类名和命名空间后点击Apply即可自动生成一个脚本文件。 该脚本文件中包含了ActionAsset资源的所有信息并为其每一个ActionMap都配置了相应的接口和Wrapper类,这也就...
Send Message:逻辑脚本和PlayerInput在同一对象上时,通过Send Messages来执行相应函数;其中有提供的默认函数 OnDeviceLost(PlayerInput input):设备丢失(如设备没电) OnDeviceRegained(PlayerInput input):设备注册(设备从丢失中恢复也会执行) OnControlsChanged(PlayerInput input):控制器切换,如键盘和手柄都接入,默认设...
playerInput.currentActionMap.FindAction("Move").performed += OnMove; } private void OnDisable() { playerInput.currentActionMap.FindAction("Jump").performed -= OnJump; playerInput.currentActionMap.FindAction("Move").performed -= OnMove; } public void OnJump(InputAction.CallbackContext callback...
通常情况下,默认的输入配置文件会放在工程目录\Library\PackageCache \com.unity. inputsystem@[版本号]\InputSystem\Plugins \PlayerInput\中。如果没找到就需要看看是不是版本问题了。 正常情况如图 在Packages里找到DefaultInputActions配置文件,双击并打开下图右侧的配置窗口。
在打开的界面中,找到InputSystem并且点击安装,我这里安装过了 如果弹出界面,选择Yes去启用新的输入系统 后续也可以在Edit > Project Settings > Player中找到Active Input Handling选项,选择使用旧版输入系统还是新版输入系统,亦或是两个同时存在 InputActions创建 ...
我们当前工程中就已经存在新的输入系统了。为了能够确认我们的工程中使用的那种输入系统,我们可以在Edit -> Project Settings 窗口中的Player选项进一步来核实。 我们看到在“Active Input Handing”一项中显示“Input System Package(New)”表示使用新的Input System输入系统。我们点击下拉还可以选择“Input Manager(Old)...
安装结束后,我们在顶部菜单栏选择“Edit→Project Settings”点击“Player”我们可以看到Active Input Handling已经切换为“Both”, 这个地方有三个选项: Input Manger(Old):只采用旧版的Input输入,新版的Input System将不起作用。 Input System Package(New):只采用新版的Input System方式,旧版的Input将不再起作用。
关于本地多人游戏的部分,前面提到过新的 Input System 让本地合作的实现变得很简单,只需要创建一个挂载了 player input manager 的游戏物体,再将 player 设置为预制体放入 input manager,按下不同控制器任意按钮后,就会自动生成玩家的预制体。 不过可以看到,这样会带来一个问题,生成出来的玩家无论是位置还是其它什...
关于本地多人游戏的部分,前面提到过新的 Input System 让本地合作的实现变得很简单,只需要创建一个挂载了 player input manager 的游戏物体,再将 player 设置为预制体放入 input manager,按下不同控制器任意按钮后,就会自动生成玩家的预制体。 不过可以看到,这样会带来一个问题,生成出来的玩家无论是位置还是其它什...