Unity 輸入系統

      網友投稿 966 2025-03-31

      # 鍵盤輸入:

      對于鍵盤按鍵操作,只有三種操作:

      - 鍵被按下: Input.GetKeyDown();

      - 鍵被松開: Input.GetKeyUp() ;

      - 鍵被按下一直沒松開: Input.GetKey();

      - Horizontal (水平軸),Vertical (垂直軸)

      根據坐標軸名稱返回虛擬坐標系中的值使用控制器和鍵盤輸入時此值范圍在-1到1之間

      例如:

      ```csharp

      public class example : MonoBehaviour {

      public float speed = 10.0F;

      public float rotationSpeed = 100.0F;

      void Update()

      {

      // 獲取橫向和縱向坐標軸,默認情況下他們關聯到方向鍵上,值的范圍是在-1到1之間

      float translation = Input.GetAxis("Vertical") * speed**Time.deltaTime;

      float rotation = Input.GetAxis("Horizontal") * rotationSpeed*Time.deltaTime;

      // 沿著z軸平移對象

      transform.Translate(0, 0, translation);

      // 以我們的y軸為中心旋轉

      transform.Rotate(0, rotation, 0);

      }

      }

      ```

      ---

      # 鼠標輸入

      - Mouse X (水平軸), Mouse (垂直軸), Mouse ScrollWheel (鼠標中鍵滾動)

      - Input.GetMouseButtonDown(); 按下觸發

      - Input.GetMouseButtonUp(); 松開觸發

      - Input.GetMouseButton(); 按下不松開一種觸發括號中輸入 0對應左鍵,1對應右鍵,2對應中鍵軸輸入 Input.GetAxis/GetAxisRaw

      ```csharp

      public class question1 : MonoBehaviour

      Unity 輸入系統

      {

      // 在鼠標左鍵被按下時,利用鼠標的中軸,實現模型的縮放。

      void Update ()

      {

      if (Input.GetMouseButton(0)) ? //按下鼠標左鍵

      {

      //獲取鼠標中軸滾動量

      float a = Input.GetAxis("Mouse ScrollWheel");

      //找到攝像機組件Camera上的fieldOfView屬性

      this.gameObject.GetComponent().fieldOfView += a;

      }

      }

      }

      ```

      ---

      # 觸摸

        當將Unity游戲運行到IOS或Android設備上時,桌面系統的鼠標左鍵可以自動變為手機屏幕上的觸屏操作,但如多點觸屏等操作卻是無法利用鼠標操作進行的。Unity的Input類中不僅包含桌面系統的各種輸入功能,也包含了針對移動設備觸屏操作的各種功能,下面介紹一下Input類在觸碰操作上的使用。

      首先介紹一下Input.touches結構,這是一個觸摸數組,每個記錄代表著手指在屏幕上的觸碰狀態。每個手指觸控都是通過Input.touches來描述的;

      屬性說明

      - **fingerId**:觸摸的唯一索引

      - **position**:觸摸屏幕的位置

      - **deltatime**:從最后狀態到目前狀態所經過的時間

      - **tapCount**:點擊數。Andorid設備不對點擊計數,這個方法總是返回1

      - **deltaPosition**:自最后一幀所改變的屏幕位置

      - **phase**:相位,也即屏幕操作狀態

      其中phase(狀態)有以下這幾種:

      狀態 |說明

      -|-

      Began |手指剛剛觸摸屏幕

      Moved |手指在屏幕上移動

      Stationary| 手指觸摸屏幕,但自最后一陣沒有移動

      Ended |手指離開屏幕

      Canceled |系統取消觸控跟蹤,原因如把設備放在臉上或同時超過5個觸摸點

      unity

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:在線文檔怎么創建副本打印(怎么建文檔然后打印)
      下一篇:如何將A列相同數據所對應的B列數據合并
      相關文章
      久久亚洲精品成人综合| 亚洲国产精品无码观看久久| 偷自拍亚洲视频在线观看| 亚洲AV无码无限在线观看不卡| 亚洲综合图片小说区热久久| 久久久亚洲精品无码| 亚洲av无码一区二区三区网站| 亚洲熟妇无码AV在线播放| 亚洲午夜久久久久久久久久| 美腿丝袜亚洲综合| 亚洲中文字幕无码不卡电影| 亚洲中文字幕无码不卡电影 | 亚洲综合色婷婷七月丁香| 亚洲日本va午夜中文字幕久久| 免费亚洲视频在线观看| 夜色阁亚洲一区二区三区| 在线a亚洲v天堂网2018| 亚洲国产精品无码久久九九| 亚洲高清免费视频| 久久久久久亚洲精品不卡| 91麻豆精品国产自产在线观看亚洲| 久久精品国产亚洲7777| 亚洲日韩乱码中文无码蜜桃臀网站| 亚洲精品一品区二品区三品区| 国产亚洲精品观看91在线| 亚洲AV无码乱码在线观看裸奔 | 亚洲人成色77777| 国产精品亚洲а∨无码播放| 亚洲Av熟妇高潮30p| 久久综合亚洲色一区二区三区 | 亚洲无码精品浪潮| 亚洲人成无码网站| 亚洲欧洲日韩不卡| 亚洲人成片在线观看| 亚洲欧洲精品成人久久曰| 婷婷亚洲综合一区二区| 国产精品亚洲不卡一区二区三区 | 亚洲av成人一区二区三区观看在线 | www亚洲精品久久久乳| 亚洲精品无码av天堂| 精品亚洲综合在线第一区|