Unity基礎入門 ??| Time(時間)和Input鍵盤及鼠標輸入方法

      網友投稿 849 2022-05-28

      首先介紹兩個概念:現實時間和游戲時間

      大多數Time類都是依賴于游戲時間的。

      現實時間也就是不依賴于程序內部,就算程序暫停也會繼續計算的真實時間,而游戲時間是基于程序內部的,可以自行調整。

      我們這里用的都是游戲時間

      下面來用代碼示例學一下?Time?類的使用

      Unity零基礎到入門 ??| Time(時間)和Input鍵盤及鼠標輸入方法

      public class ReadTimeAndMathf : MonoBehaviour { //時間縮放 public float timeScale = 1f; public float moveSpeed = 2; private void FixedUpdate() { Debug.Log(Time.fixedDeltaTime); transform.position += Vector3.forward * Time.fixedDeltaTime * moveSpeed; } void Update() { // Debug.Log(Time.time);//游戲過來多長時間 Debug.Log(Time.deltaTime);//每幀的時間間隔 //調整時間縮放 Time.timeScale = timeScale; // transform.position += Vector3.forward * Time.deltaTime * moveSpeed; // transform.position = Vector3.Lerp(transform.position,Vector3.forward * 5 ,Time.deltaTime * moveSpeed); } }

      在游戲中我們經常要用到按某個鍵來執行某件事,就比如按A鍵開炮,空格鍵跳躍等等。下面就來簡單介紹一下怎樣使用?鍵盤輸入方法

      public class SimplePlayerMove : MonoBehaviour { [Header("炮彈")] public GameObject bullet; public float moveSpeed = 3f; public float turnSpeed = 3f; private float hor, ver; void OldUpdate(){ bool downA = Input.GetKeyDown(KeyCode.A); if (Input.GetKeyDown(KeyCode.A)) { Debug.Log("按下了A鍵"); } if (Input.GetKeyUp(KeyCode.A)) { Debug.Log("松開了A鍵"); } if (Input.GetKey(KeyCode.Space)) { Debug.Log("按住了空格鍵"); } if(Input.GetKey(KeyCode.W))//前進 { transform.position +=transform.forward * Time.deltaTime * moveSpeed; } if(Input.GetKey(KeyCode.S))//后退 { transform.position -=transform.forward * Time.deltaTime * moveSpeed; } if (Input.GetKey(KeyCode.A))//左轉 { transform.eulerAngles -= Vector3.up * turnSpeed; } if (Input.GetKey(KeyCode.D))//右轉 { transform.eulerAngles += Vector3.up * turnSpeed; } } ---- void Update() { hor = Input.GetAxis("Horizontal"); ver = Input.GetAxis("Vertical"); //transform.position += new Vector3(hor, 0, ver) *Time.deltaTime * moveSpeed; //前后移動 transform.position += ver * transform.forward * Time.deltaTime * moveSpeed; //左右轉身 transform.eulerAngles += hor * Vector3.up * turnSpeed; } }

      說完了鍵盤輸入,自然還有鼠標輸入啦,那下面就來介紹一下?鼠標輸入方法

      void KeyUpdate() { if (Input.GetMouseButtonDown(0)) { Debug.Log("按下了鼠標左鍵"); } if (Input.GetMouseButtonUp(0)) { Debug.Log("松開了鼠標左鍵"); } if (Input.GetMouseButton(0)) { Debug.Log("按住了鼠標左鍵"); } } --- void Update() { float hor = Input.GetAxis("Horizontal"); //Debug。Log( if (Input.GetButtonDown("Fire")); { Debug.Log("按住了開火鍵"); // GameObject crtPlayer = Instantiate(playerPrefab); GameObject crtPlayer = Instantiate(playerPrefab, Vector3.forward, Quaternion.identity); }) if (Input.GetButtonDown("Fire")) { Debug.Log("按住了開火鍵"); // GameObject crtPlayer = Instantiate(playerPrefab); GameObject crtPlayer = Instantiate(playerPrefab, Vector3.forward, Quaternion.identity); } }

      5G游戲 unity

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

      上一篇:VB編程:Timer控件實例幼兒識字卡片-35_彭世瑜_新浪博客
      下一篇:SPEC 測試失敗問題總結分享
      相關文章
      久久精品国产亚洲αv忘忧草| 亚洲视频精品在线观看| 亚洲三级中文字幕| 亚洲宅男永久在线| 亚洲午夜视频在线观看| 久久精品九九亚洲精品天堂| 在线观看国产区亚洲一区成人 | 国产精品亚洲一区二区在线观看| 亚洲一区精彩视频| 亚洲日本国产综合高清| 亚洲宅男精品一区在线观看| 亚洲乱码一二三四区麻豆| 亚洲另类自拍丝袜第1页| 亚洲国产精品成人久久久| 亚洲国产成人在线视频| 亚洲国产成人超福利久久精品| 亚洲日韩中文字幕| 国产成人精品亚洲日本在线 | 亚洲美女在线国产| 久久久久国产成人精品亚洲午夜| www国产亚洲精品久久久日本| 亚洲?v女人的天堂在线观看| 亚洲黄黄黄网站在线观看| 亚洲精品无码久久久久AV麻豆| 久久亚洲中文字幕精品一区四| 伊伊人成亚洲综合人网7777| 国产亚洲精品一品区99热| 亚洲AV人人澡人人爽人人夜夜| 97亚洲熟妇自偷自拍另类图片| 亚洲男人电影天堂| 精品丝袜国产自在线拍亚洲| 亚洲欧美一区二区三区日产| WWW亚洲色大成网络.COM | 亚洲视频免费在线播放| 亚洲AV无码久久久久网站蜜桃| 亚洲色大成网站www尤物| 国产亚洲精品欧洲在线观看| 久久亚洲AV成人无码国产电影| 亚洲国产成人久久一区WWW| 亚洲性猛交XXXX| 久久亚洲国产成人精品性色|