16.获取任意键输入的信息

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

×

喜欢就点赞,疼爱就打赏