溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Unity鍵盤WASD實現(xiàn)物體移動

發(fā)布時間:2020-09-18 11:13:21 來源:腳本之家 閱讀:216 作者:weixin_38527697 欄目:編程語言

本文實例為大家分享了Unity鍵盤WASD實現(xiàn)物體移動的具體代碼,供大家參考,具體內(nèi)容如下

1首先在場景中建立一個Capsule,將主攝像機拖到其物體下。

Unity鍵盤WASD實現(xiàn)物體移動

2.將腳本掛在Capsule物體下,WASD 控制移動方向,空格延Y軸向上移動,F(xiàn)延Y軸向下移動

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class MoveCam : MonoBehaviour
{
 private Vector3 m_camRot;
 private Transform m_camTransform;//攝像機Transform
 private Transform m_transform;//攝像機父物體Transform
 public float m_movSpeed=10;//移動系數(shù)
 public float m_rotateSpeed=1;//旋轉(zhuǎn)系數(shù)
 private void Start()
 {
 m_camTransform = Camera.main.transform;
 m_transform = GetComponent<Transform>();
 }
 private void Update()
 {
 Control();
 }
 void Control()
 {
 if (Input.GetMouseButton(0))
 {
  //獲取鼠標移動距離
  float rh = Input.GetAxis("Mouse X");
  float rv = Input.GetAxis("Mouse Y");
 
  // 旋轉(zhuǎn)攝像機
  m_camRot.x -= rv * m_rotateSpeed;
  m_camRot.y += rh*m_rotateSpeed;
 
 }
 
 m_camTransform.eulerAngles = m_camRot;
 
 // 使主角的面向方向與攝像機一致
 Vector3 camrot = m_camTransform.eulerAngles;
 camrot.x = 0; camrot.z = 0;
 m_transform.eulerAngles = camrot;
 
 // 定義3個值控制移動
 float xm = 0, ym = 0, zm = 0;
 
 //按鍵盤W向上移動
 if (Input.GetKey(KeyCode.W))
 {
  zm += m_movSpeed * Time.deltaTime;
 }
 else if (Input.GetKey(KeyCode.S))//按鍵盤S向下移動
 {
  zm -= m_movSpeed * Time.deltaTime;
 }
 
 if (Input.GetKey(KeyCode.A))//按鍵盤A向左移動
 {
  xm -= m_movSpeed * Time.deltaTime;
 }
 else if (Input.GetKey(KeyCode.D))//按鍵盤D向右移動
 {
  xm += m_movSpeed * Time.deltaTime;
 }
 if (Input.GetKey(KeyCode.Space) && m_transform.position.y <= 3)
 {
  ym+=m_movSpeed * Time.deltaTime;
 }
 if (Input.GetKey(KeyCode.F) && m_transform.position.y >= 1)
 {
  ym -= m_movSpeed * Time.deltaTime;
 }
 m_transform.Translate(new Vector3(xm,ym,zm),Space.Self);
 }
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI