【轉】unity3d input輸入

來源:互聯網
上載者:User

標籤:android   style   使用   strong   os   io   

 

Input 輸入

 

按鍵

Input.GetKey(“up”) = Input.GetKey(KeyCode.UpArrow) 按住鍵盤上鍵

Input.GetKeyDown (“up”) 按下鍵盤上鍵

Input.GetKeyUp (“up”) 放開鍵盤上鍵

 (KeyCode.UpArrow)為鍵碼 

Input.GetButton(“ ”) = Input.GetKey(“ ”) 兩種幾乎相同(目前沒發現差異)

Input.GetButton一樣會有分Input.GetButtonDown & Input.GetButtonUp

(“ ”)符號內為按鍵英文~ 參考Unity→Edit→Project Settings→Input(可新增)

PS : Unity內並沒有內建android(返回與選單)功能鍵設定,必須使用者自行設定,在Inpu.GetButton(“ ”)中”escpae”&”menu”有對應返回與選單鍵

例: if(Input.GetKeyDown (“escpae”)){ Application.Quit(); } 按下返回就退出

 

滑鼠用

Input.GetMouseButton(0) 當0鍵被按住持續偵測(包含down和up各一次)

Input.GetMouseButtonDown(0) 當0鍵被按下一次

Input.GetMouseButtonUp(0) 當0鍵放開一次

鍵 : 0=左 1=中 2=右

PS : Unity有對應滑鼠左鍵輸入功能部分可以用在Android手指觸碰的操作上

 

擷取軸

Input.GetAxis(“ ”) ~ (“ ”)參考Unity→Edit→Project Settings→Input(可新增)

根據座標軸傳回虛擬座標值,取得輸入裝置輸入時值範圍-1 ~ 1

例: Input.GetAxis(“Mouse x”) ~ 可取得滑鼠橫向移動增量

 

Android 常用 Input

 

觸碰

Input.touchCount ~ 觸碰數量

Input.GetTouch(0) ~ 當第一支手指觸碰時

0=第一支1=第二支2=第三支以此類推(觸碰到點的偵測數量上限未測不知)

TouchPhase ~ 觸碰狀態有分五種Began Moved Stationary Ended Canceled

Began按下Moved移動Stationary按住沒移動Ended離開

Canceled用於觸碰超過5點以上或貼至臉上時取消追蹤

Input.GetTouch(0).position 取得第一支手指觸碰座標

 

例 :

Touch 單點移動判斷式

if(Input.touchCount == 1 && Input.GetTouch(0).phase==TouchPhase.Moved){執行}

(觸碰數量為1個) 和(第一支手指觸碰時的狀態為移動) 時{執行}

 

Touch 雙點移動判斷式

if(Input.touchCount >1){

 if(Input.GetTouch(0).phase==TouchPhase.Moved || Input.GetTouch(1).phase==TouchPhase.Moved){ 執行}}

(觸碰數量超過1個) 和

 (第一支手指觸碰時的狀態為移動)或著(第二支手指觸碰時的狀態為移動) 時{執行}

 

Input.GetTouch(0) 和 Input.GetMouseButton(0)

單點時大致上互連(不確定是否完全相同)

多點上就會出現差異Touch會取手指前後順序Mouse會取中心點

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.