本文仅作笔记学习和分享,不用做任何商业用途
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这和老输入系统有什么区别?
因为我要水文啊,所以可视化配置文件留到下一篇