日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

输入控制

發布時間:2025/4/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 输入控制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.創建一個游戲工程, 命名為InputControl

2.在Project視圖中創建3個文件夾, Scene文件夾、Resources文件夾和Script文件夾

3.將當前場景保存為GameScene

4.創建ComputerInputControl游戲腳本

5.在Hierarchy視圖中創建一個空的GameObject, 命名為GameManager,并把ComputerInputControl綁定在該對象上

6.玩家點擊鼠標左鍵開火、按住鍵盤W鍵前進等都屬于輸入控制。輸入控制是游戲開發中非常重要的一個環節。
7.計算機輸入
(1).計算機設備的輸入指的是僅對應鍵盤和鼠標的輸入檢測。一般單項檢查分為3類:按下、按住和抬起。
(2).KeyCode是由Event.keyCode返回的, 用于鍵盤事件的原始鍵碼。

(3).代碼清單

using UnityEngine;public class ComputerInputControl : MonoBehaviour {void Update () {if(Input.GetKeyDown(KeyCode.A)){Debug.Log ("按下鍵盤A鍵");}if(Input.GetKey(KeyCode.A)){Debug.Log ("按住鍵盤A鍵");}if(Input.GetKeyUp(KeyCode.A)){Debug.Log ("抬起鍵盤A鍵");}if(Input.GetKeyDown(KeyCode.Space)){Debug.Log ("按下鍵盤空格鍵");}if(Input.GetKey(KeyCode.Space)){Debug.Log ("按住鍵盤空格鍵");}if(Input.GetKeyUp(KeyCode.Space)){Debug.Log ("抬起鍵盤空格鍵");}if(Input.GetMouseButtonDown(0)){Debug.Log ("按下鼠標左鍵");}if(Input.GetMouseButton(0)){Debug.Log ("按住鼠標左鍵");}if(Input.GetMouseButtonUp(0)){Debug.Log ("抬起鼠標左鍵");}if(Input.GetMouseButtonDown(1)){Debug.Log ("按下鼠標右鍵");}if(Input.GetMouseButton(1)){Debug.Log ("按住鼠標右鍵");}if(Input.GetMouseButtonUp(1)){Debug.Log ("抬起鼠標右鍵");}if(Input.GetMouseButtonDown(2)){Debug.Log ("按下鼠標滾輪鍵");}if(Input.GetMouseButton(2)){Debug.Log ("按住鼠標滾輪鍵");}if(Input.GetMouseButtonUp(2)){Debug.Log ("抬起鼠標滾輪鍵");}} }

8.自定義輸入

(1).鍵盤鼠標輸入檢測十分局限, 一般僅用于計算機等設備。自定義輸入可以設置輸入類型名稱、輸入設備類型、輸入鍵位等參數, 從而方便的解決了計算機與家用機的輸入兼容。

(2).微軟的xbox


(3).任天堂游戲公司的switch


(4).輸入設置界面: 菜單欄 -> Edit -> Project Settings -> Input打開輸入設置界面

?

(5).展開Horizontal輸入項, 我們發現有2個Horizontal項, 這是因為鍵盤鼠標是單獨的一套鍵,而手柄則是另一套。

?


(6).在Hierarchy視圖中的GameManame游戲對象下,新建一個Cube立方體。


(7).新建一個HorizontalInput.cs腳本, 并綁定到Cube上。

(8).代碼清單

using UnityEngine;public class HorizontalInput : MonoBehaviour {void Update () {float horizontalValue = Input.GetAxis ("Horizontal");if(horizontalValue != 0){transform.position += new Vector3 (horizontalValue*Time.deltaTime, 0, 0);}float verticalValue = Input.GetAxis ("Vertical");if(verticalValue != 0){transform.position += new Vector3 (0, verticalValue*Time.deltaTime, 0);}} } 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的输入控制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。