Unity键位输入及Input类

Posted -831

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity键位输入及Input类相关的知识,希望对你有一定的参考价值。

一、Unity的基本输入事件(最常用):
  

1 . 获得键盘  

 Input.GetKey(KeyCode.A)

Input.GetKeyDown(KeyCode.A)

Input.GetKeyUp(KeyCode.A)

 2.获得鼠标信息

Input.mousePosition //  鼠标位置 
Input.GetMouseButton 获取按钮

3.轴输入

 Input.GetAxis 获取轴
 根据坐标轴名称返回虚拟坐标系中的值。
  使用控制器和键盘输入时此值范围在-1到1之间;

1、Input类中的常用属性

属性名

类型

属性类型

含义

anyKey

bool
get

获取任意键按住

anyKeyDown

bool

get;

获取任意键按下

mousePosition

Vector3

get;

获取鼠标移动的坐标

2、Input类中常用属性

     (1)、GetKey(KeyCode key)

          方法类型:静态。

          参数:key—键盘上的某个键。

         返回值:bool—当键盘上某个键被一直按住的时候,其返回值为true,否则为false。

          含义:检测键盘上的某个键是否被一直按住,如果该键一直按住,其返回值为true,否则为false。

          重载方法:GetKey(string name)

     (2)、GetKeyDown(KeyCodekey)

          方法类型:静态。

           参数:key—键盘上的某个键。

          返回值:bool—当键盘上某个键被按下的时候,其返回值为true,否则为false。

含义:检测键盘上的某个键是否被按下,如果该键被按下,其返回值为true,否则为false。

重载方法:GetKeyDown(string name)

(3)、GetKeyUp(KeyCodekey)

      方法类型:静态。

           参数:key—键盘上的某个键。

          返回值:bool—当键盘上某个键按下之后抬起的时候,其返回值为true,否则为false。

含义:检测键盘上的某个键是否被按下之后抬起,如果该键被按下之后抬起,其返回值为true,否则为false。

重载方法:GetKeyUp (string name)

 (4)、GetMouseButtonDown(intbutton)

       方法类型:静态。

       参数:button—表示鼠标上的键,0:表示鼠标左键,1:表示鼠标右键,2表示鼠标中键,3:表示鼠标上键,4:表示鼠标下键(其中3和4件不经常用,因为有的鼠标上没有这两个键)。

           返回值:bool—当鼠标上某个键被按下之后,其返回值为true,否则为false。

含义:检测鼠标上的某个键是否被按下,如果该键被按下,其返回值为true,否则为false。

(5)、GetAxis(stringaxisName)

         方法类型:静态。

         参数:axisName—轴向,Horizontal:表示水平方向,其值从-1到1之间变化,当A键被按下的时候其在水平方向上的向量为0-1(取不到0),当D键被按下的时候其在水平方向上的向量为-1-0(取不到0),当A键和D键都没有被按下的时候,其水平方向上的向量为0;Vertical:表示竖直方向,其值从-1到1之间的变化,当W键被按下的时候其在竖直方向上的向量为0-1(取不到0),当S键被按下的时候其在竖直方向上的向量为-1-0(取不到0),当S键和W键都没有被按下的时候,其竖直方向上的向量为0。

         返回值:float—按下设定的某个键之后,表示变化的数值,从-1到1之间变化。

         含义:检测键盘上某个按键被一直按住的时候,其在设定的方向上的变化。


  鼠标点击:
  Input.GetMouseButtonDown(0)           //鼠标左键按下
  Input.GetMouseButtonDown(1)           //鼠标右键按下
  Input.GetMouseButtonUp(0)             //鼠标左键抬起
  Input.GetMouseButtonUp(1)             //鼠标右键抬起
  
  键盘事件:
  Input.GetKeyDown(KeyCode.键值)    //键盘按下
  Input.GetKeyUp(KeyCode.键值)         //键盘抬起
  
  常用的键值:
  KeyCode.大写字母A-Z                              //字母键
  KeyCode.UpArrow
  KeyCode.DownArrow
  KeyCode.LeftArrow
  KeyCode.RightArrow
  KeyCode.Return                                   //回车
  KeyCode.Escape                                   //Esc返回
  KeyCode.Space                                    //空格
  KeyCode.LeftControl
  KeyCode.RightControl
  KeyCode.LeftShift
  KeyCode.RightShift
  KeyCode.Tab
  KeyCode.Delete
  KeyCode.Backspace
  
二、获取键盘或者各电视遥控器键值用于输入事件适配


using UnityEngine;  
using System.Collections;  
using UnityEngine.UI;  
public class KeyCode : MonoBehaviour  
  
    //显示键值信息的UI文本组件  
    public Text keycodeText;  
  
    //只能在OnGUI内获取键值  
    void OnGUI()  
     
        if (Input.anyKeyDown)  
         
            Event e = Event.current;  
            if (e.isKey)  
             
                keycodeText.text ="按下的键值:" + e.keyCode.ToString();  
             
         
     
 

Unity键值表:

 

/** 鼠标键值 **/  
Mouse0  鼠标左键  
Mouse1  鼠标右键  
Mouse2  鼠标中键  
Mouse3  鼠标第3个按键  
Mouse4  鼠标第4个按键  
Mouse5  鼠标第5个按键  
Mouse6  鼠标第6个按键  
  
/** 键盘键值 **/  
//方向键  
UpArrow     方向键上  
DownArrow   方向键下  
RightArrow  方向键右  
LeftArrow   方向键左  
  
//F功能键  
F1   功能键F1  
F2   功能键F2  
F3   功能键F3  
F4   功能键F4  
F5   功能键F5  
F6   功能键F6  
F7   功能键F7  
F8   功能键F8  
F9   功能键F9  
F10  功能键F10  
F11  功能键F11  
F12  功能键F12  
F13  功能键F13  
F14  功能键F14  
F15  功能键F15  
  
//数字键  
Alpha0 按键0  
Alpha1 按键1  
Alpha2 按键2  
Alpha3 按键3  
Alpha4 按键4  
Alpha5 按键5  
Alpha6 按键6  
Alpha7 按键7  
Alpha8 按键7  
Alpha9 按键9  
  
//字母键  
A  ‘a’键  
B  ‘b’键  
C  ‘c’键  
D  ‘d’键  
E  ‘e’键  
F  ‘f’键  
G  ‘g’键  
H  ‘h’键  
I  ‘i’键  
J  ‘j’键  
K  ‘k’键  
L  ‘l’键  
M  ‘m’键  
N  ‘n’键  
O  ‘o’键  
P  ‘p’键  
Q  ‘q’键  
R  ‘r’键  
S  ‘s’键  
T  ‘t’键  
U  ‘u’键  
V  ‘v’键  
W  ‘w’键  
X  ‘x’键  
Y  ‘y’键  
Z  ‘z’键  
  
//功能键  
Backspace        退格键  
Delete           Delete键  
Tab              Tab键  
Clear            Clear键  
Return           回车键  
Pause            暂停键  
Escape           ESC键  
Space            空格键  
Numlock          Numlock键  
Capslock         大小写锁定键  
ScrollLockScroll Lock键  
RightShift       右上档键  
LeftShift        左上档键  
RightControl     右Ctrl键  
LeftControl      左Ctrl键  
RightAlt         右Alt键  
LeftAlt          左Alt键  
LeftApple        左Apple键  
LeftWindows      左Windows键  
RightApple       右Apple键  
RightWindows     右Windows键  
AltGr            Alt Gr键  
Help             Help键  
Print            Print键  
SysReq           Sys Req键  
Break            Break键  
Insert           Insert键  
Home             Home键  
End              End键  
PageUp           PageUp键  
PageDown         PageDown键  
  
//符号键  
Exclaim         ‘!’键  
DoubleQuote      双引号键  
Hash             Hash键  
Dollar          ‘$’键  
Ampersand        Ampersand键  
Quote            单引号键  
LeftParen        左括号键  
RightParen       右括号键  
Asterisk        ‘ * ’键  
Plus            ‘ + ’键  
Comma           ‘ , ’键  
Minus           ‘ - ’键  
Period          ‘ . ’键  
Slash           ‘ / ’键  
Colon           ‘ : ’键  
Semicolon       ‘ ; ’键  
Less            ‘ < ‘键  
Equals          ‘ = ‘键  
Greater         ‘ > ‘键  
Question        ‘ ? ’键  
At              ‘@’键  
LeftBracket     ‘ [ ‘键  
Backslash       ‘ \ ’键  
RightBracket    ‘ ] ’键  
Caret           ‘ ^ ’键  
Underscore      ‘ _ ’键  
BackQuote       ‘ ` ’键  
  
//小键盘  
Keypad0  小键盘0  
Keypad1  小键盘1  
Keypad2  小键盘2  
Keypad3  小键盘3  
Keypad4  小键盘4  
Keypad5  小键盘5  
Keypad6  小键盘6  
Keypad7  小键盘7  
Keypad8  小键盘8  
Keypad9  小键盘9  
KeypadPeriod      小键盘“.”  
KeypadDivide      小键盘“/”  
KeypadMultiply    小键盘“*”  
KeypadMinus       小键盘“-”  
KeypadPlus        小键盘“+”  
KeypadEnter       小键盘“Enter”  
KeypadEquals      小键盘“=”  
---------------------
作者:沃斯窃格瓦拉
来源:CSDN
原文:https://blog.csdn.net/t1446242775/article/details/80271709
版权声明:本文为博主原创文章,转载请附上博文链接!

以上是关于Unity键位输入及Input类的主要内容,如果未能解决你的问题,请参考以下文章

Unity Input System 新输入系统的功能及用法介绍

Unity的Input输入

Unity-解决Input类无法识别的问题

Unity-解决Input类无法识别的问题

关于unity的一些输入(鼠标等的)简单操作。

Unity新版输入系统 new input system