16.综合练习题-补充知识点-获取任意键输入的信息
16.1 知识点
回顾学过的获取任意键输入的方法
键盘任意键按下
input.Enable();
input.performed += (context) =>
{
print("键盘任意键按下");
print(context.control.name);
print(context.control.path);
//无法判断出具体是哪个键进行按下
};
键盘任意键按下字符
Keyboard.current.onTextInput += (c) =>
{
print("键盘任意键按下字符" + c);
//这样打印只能打印出数字和字母 对于空格和回车这种特殊字符无法打印出
};
InputSystem中专门用于任意键按下的方案
InputSystem.onAnyButtonPress.CallOnce
InputSystem.onAnyButtonPress.CallOnce((control) =>
{
print("InputSystem中专门用于任意键按下的方案 路径" + control.path);
print("InputSystem中专门用于任意键按下的方案 名字" + control.name);
});
16.2 知识点代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.InputSystem.Utilities;
public class Lesson16_综合练习题_补充知识点_获取任意键输入的信息 : MonoBehaviour
{
public InputAction input;
void Start()
{
#region 知识点一 回顾学过的获取任意键输入的方法
//1.键盘任意键按下
input.Enable();
input.performed += (context) =>
{
print("键盘任意键按下");
print(context.control.name);
print(context.control.path);
//无法判断出具体是哪个键进行按下
};
//2.键盘任意键按下字符
Keyboard.current.onTextInput += (c) =>
{
print("键盘任意键按下字符"+ c);
//这样打印只能打印出数字和字母 对于空格和回车这种特殊字符无法打印出
};
#endregion
#region 知识点二 InputSystem中专门用于任意键按下的方案
//如果用Call 按键盘会报错 但是也能正常执行
//InputSystem.onAnyButtonPress.Call((control) =>
//用CallOnce 只会执行一次 但是不会报错
InputSystem.onAnyButtonPress.CallOnce((control) =>
{
print("InputSystem中专门用于任意键按下的方案 路径" + control.path);
print("InputSystem中专门用于任意键按下的方案 名字" + control.name);
});
#endregion
}
}
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com