unity 新的输入系统input system 使用

admin2年前unity基础API870

1:首先在包管理器里安装 搜索"input system"



2: 创建input acionts


QQ图片20221217160722.png


3:生成代码  勾选后点击右小角应用就可以自动生成相关代码


QQ图片20221217160826.png


4:代码调用


创建一个自定义脚本


A:在类中创建变量 NewControls 就是上面自动生成的输入控制类的名字

NewControls inputActions;


B:在Awake中初始化inputActions 

    private void Awake()
    {
        inputActions = new NewControls();
    }

C: 创建onEnble 和Ondisablef方法 

    private void OnEnable()
    {
        
       
        inputActions.Enable();
    }

    private void OnDisable()
    {
       

        inputActions.Disable();
    }

 


D: 实现相关方法

    private void OnEnable()
    {
        
        inputActions.PlayMove.move.performed += Move_performed;
        inputActions.PlayMove.jump.performed += Jump_performed;
        inputActions.Enable();
    }

    private void OnDisable()
    {
        inputActions.PlayMove.move.performed -= Move_performed;
        inputActions.PlayMove.jump.performed -= Jump_performed;

        inputActions.Disable();
    }
    
        private void Jump_performed(UnityEngine.InputSystem.InputAction.CallbackContext obj)
    {

       
         //obj就是传递过来的参数 obj.ReadValueAsButton()
         
    }



    private void Move_performed(UnityEngine.InputSystem.InputAction.CallbackContext obj)
    {
        //这里获得传递过来的参数是一个Vector2类型
        pos = obj.ReadValue<Vector2>();
    }



补充:


Action Type


Value	默认,主要用于状态连续更改的输入,例如鼠标的移动,手柄的遥感。如果有多个设备绑定这个Action,只会发送其中一个设备(最受控制的)的输入
Button	用于每次按下时触发的Action
Pass-Through	和Value一样,区别在于如果有多个设备绑定这个Action,会发送所有设备的输入




相关文章

Unity 插值运算

在unity3d中经常用线性插值函数Lerp()来在两者之间插值,两者之间可以是两个材质之间、两个向量之间、两个浮点数之间、两个颜色之间,其函数原型如下: 1.Material.Lerp&nbs...

Unity 手机触摸Touch事件

1:判断是否触摸如果大于0那就是最少一个手指触摸了屏幕 以此类推 如果=2就是2个手指 最多10个if(Input.touchCount >0)2:判断单...

Unity3d KeyCode 键盘各种键值详情

 Backspace     退格键  Delete      De...

相机跟随角色移动旋转方法

相机跟随角色移动旋转方法

1:首先做个一个空的节点作为相机的根节点 参数归02:在根节点添加一个节点作为缩放 镜头上下移动 Z 镜头远近 Y 镜头上下3:最后添加真正的镜头对象Camer...

通过刚体移动的方法

1:MovePosion移动的新的位置,传入的参数是最新的位置 一般是旧的位置加上变化的参数2:velocity这个方法是瞬间给物体一个恒定的速度,将物体提升至该速度 3:addF...

blender导出模型和动画到Unity

blender导出模型和动画到Unity

1:首先我们确保导出的模型是FBX2:模型的Rig设置为泛型 avatar根据实际情况可以选择无或则从此模型创建3:设置动画控制器,把模型中的动画拖入就可以了...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。