Unity 输入模块 之 初识新输入系统(其实也不新)

本文仅作笔记学习和分享,不用做任何商业用途

本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​

1.介绍

当年的宣传网页Unity新一代输入系统介绍 - 技术专栏 - Unity官方开发者社区

老输入系统每次配置新项目都需要写一大堆代码,是否显得过于累赘?

新输入系统可以基于unity Event也就是事件监听来处理玩家的点击,我就贼中意事件监听这个方式,简单方便快捷可拓展

unity保姆级教程 之 UnityEvent可视化事件类-CSDN博客 (未重置)

新输入系统的优势:

2.导入并认识新输入系统

unity注册表直接搜索安装即可

值得注意的是,如果新老输入系统并用的话可以如下操作,当然在2022.3稳定版本会自动Both

3.新的api(用键盘举例)

写代码前要引用新的命名空间

cs 复制代码
using UnityEngine.InputSystem;

输入监听

用这个api,注意是Action有参无返回值类型的泛型委托,我直接用了lambda表达式添加了函数(C# 匿名函数与Lambda表达式-CSDN博客

cs 复制代码
   Keyboard keyboard = Keyboard.current;
   // Start is called before the first frame update
   void Start()
   {
      
   }

   // Update is called once per frame
   void Update()
   {
       keyboard.onTextInput += (inputKey) => {

         print("按下了"+inputKey );         
       };
   }

输入控制

cs 复制代码
    Keyboard keyboard = Keyboard.current;
    // Start is called before the first frame update
    void Start()
    {
        //按下
       if(keyboard.rKey.wasPressedThisFrame)
            { 
        //处理按下逻辑
        }
        //抬起
        if(keyboard.rKey.wasReleasedThisFrame) 
            { 
        //处理释放逻辑
        }
        //长按
        if(keyboard.rKey.isPressed)
            { 
        //处理长安逻辑
        }             
    }

4.质疑

这不是还需要写代码吗?除了换了api这和老输入系统有什么区别?

因为我要水文啊,所以可视化配置文件留到下一篇

相关推荐
躺下睡觉~4 小时前
Unity-Transform类-父子关系
java·unity·游戏引擎
躺下睡觉~4 小时前
Unity-Transform类-缩放和看向
unity·游戏引擎
君莫愁。6 小时前
【Unity】检测鼠标点击位置是否有2D对象
unity·c#·游戏引擎
咩咩觉主7 小时前
Unity实战案例全解析:PVZ 植物卡片状态分析
unity·c#·游戏引擎
蓝裕安10 小时前
伪工厂模式制造敌人
开发语言·unity·游戏引擎
谢泽浩14 小时前
Unity 给模型贴上照片
unity·游戏引擎
z2014z14 小时前
Unity Resource System 优化笔记
unity·游戏引擎
王维志14 小时前
Unity 高亮插件HighlightPlus介绍
unity·游戏引擎
zaizai100715 小时前
我的demo保卫萝卜中的技术要点
unity
菌菌巧乐兹17 小时前
Unity 百度AI实现无绿幕拍照抠像功能(详解版)
人工智能·百度·unity