Unity InputSystem指令

什么时候使用多个Action Maps

比如要做一个角色移动和角色驾驶的功能. 一个Action Maps去控制人物的移动,另一个Action Maps 用于驾驶控制.

切换Action Maps

playerInput.SwitchCurrentActionMap("Menu");
Debug.Log(playerInput.currentActionMap);

三种不同类型的Action

Button 默认设置,包括按钮或者按键触发的一次性动作
Value 提供一种连续状态变化事件,如果设置了多个输入,就会切换到最主要的一个。用它进行模拟控制,比如移动。
Pass ThroughValue很相似,但它不会像Value一样(如果有多个输入时,不会只选择最主要的那个,而把其他的输入忽略)Values会优先考虑最大的输入值,而Pass Through会优先考虑最近的输入值,而不管它有多大。

input system 中的 Get Key 和 Get Key Down
如果使用老的input Manager, 判断一个键是按了一次还是按下了(例如移动),通过检查对按住按钮的Get key或对单次按下的Get key down来完成。
在 input system 中 Button Action Type 代表只触发一次,等价于 Get Key Down
Value Action Type等价于 Get Key

添加绑定

using UnityEngine;
using UnityEngine.InputSystem;
public class BasicRebinding : MonoBehaviour
{
    public InputActionReference triggerAction;
    void ChangeBinding()
    {
        InputBinding binding = triggerAction.action.bindings[0];
        binding.overridePath = "<Keyboard>/#(g)";
        triggerAction.action.ApplyBindingOverride(0, binding);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值