?
1.實現飛機移動控制
?
? // 這個腳本實現控制飛機前后移動,方向由鼠標控制
? ? //1.WS控制前后移動2.鼠標控制上下左右旋轉3.AD控制傾斜
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerController : MonoBehaviour
{// 這個腳本實現控制飛機前后移動,方向由鼠標控制//1.WS控制前后移動2.鼠標控制上下左右旋轉3.AD控制傾斜//2025.4.2@leoyang public GameObject PlayerPlane;public float Speed=10f;public float RotateSpeed = 5f;
//---------------------void Update(){if (Input.GetKey(KeyCode.W)){PlayerPlane.transform.Translate(new Vector3(0, 0, 1* Speed * Time.deltaTime));}if (Input.GetKey(KeyCode.S)){PlayerPlane.transform.Translate(new Vector3(0, 0,-1* Speed*Time.deltaTime));}if (Input.GetKey(KeyCode.A)){PlayerPlane.transform.Rotate(new Vector3(0, 0, 1* RotateSpeed*Time.deltaTime));}if (Input.GetKey(KeyCode.D)){PlayerPlane.transform.Rotate(new Vector3(0, 0, -1 * RotateSpeed * Time.deltaTime));}}
}
第二版
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerController : MonoBehaviour
{// 這個腳本實現控制飛機前后移動,方向由鼠標控制//1.WS控制前后移動2.鼠標控制上下左右旋轉3.AD控制傾斜//2025.4.2@leoyang public GameObject PlayerPlane;public float Speed=10f;public float RotateSpeed = 5f;public float ViewRotateSpeed = 10f;//---------------------private void Start(){Cursor.lockState = CursorLockMode.Locked;}void Update(){MoveController();ViewController();}/// <summary>/// 控制飛機基本移動/// </summary>void MoveController(){float tempValue = Input.GetAxis("Vertical");PlayerPlane.transform.Translate(new Vector3(0, 0, tempValue * Speed * Time.deltaTime));float tempADValue = Input.GetAxis("Horizontal");PlayerPlane.transform.Rotate(new Vector3(0, 0, tempADValue * RotateSpeed * Time.deltaTime));}/// <summary>/// 這個函數是通過鼠標控制視角方向/// </summary>void ViewController(){//Input.mousePosition.xfloat RotateXValue= Input.GetAxis("Mouse X");PlayerPlane.transform.Rotate(new Vector3(0, RotateXValue * ViewRotateSpeed*Time.deltaTime,0));float RotateYValue = Input.GetAxis("Mouse Y");PlayerPlane.transform.Rotate(new Vector3(RotateYValue * ViewRotateSpeed*Time.deltaTime,0,0));}
}