1. 程式人生 > >Unity鍵位輸入及Input類

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      小鍵盤“=”