using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class PlayerControl : MonoBehaviour
{
float m_speed = 10f;
[Header("移动速度")] public float NormalSpd = 10f;
public float HighSpd = 30f;
[Header("飞行速度")]
public float JumpSpeed;
#region 旋转用参数
float m_x;
float m_y;
#endregion
public void Update()
{
#region 移动控制
if (Input.GetKey(KeyCode.W) | Input.GetKey(KeyCode.UpArrow)) //前
{
this.transform.Translate(Vector3.forward * m_speed * Time.deltaTime);
}
if (Input.GetKey(KeyCode.S) | Input.GetKey(KeyCode.DownArrow)) //后
{
this.transform.Translate(Vector3.forward * -m_speed * Time.deltaTime);
}
if (Input.GetKey(KeyCode.A) | Input.GetKey(KeyCode.LeftArrow)) //左
{
this.transform.Translate(Vector3.right * -m_speed * Time.deltaTime);
}
if (Input.GetKey(KeyCode.D) | Input.GetKey(KeyCode.RightArrow)) //右
{
this.transform.Translate(Vector3.right * m_speed * Time.deltaTime);
}
if (Input.GetKey(KeyCode.Space))
{
transform.position += new Vector3(0, JumpSpeed, 0);
GetComponent<Rigidbody>().drag = 10;
}
else GetComponent<Rigidbody>().drag = 0;
if (Input.GetKey(KeyCode.LeftShift)||Input.GetKey(KeyCode.RightShift))
{
m_speed = HighSpd;
}
else
{
m_speed = NormalSpd;
}
//拖动鼠标右键旋转
if (Input.GetMouseButton(1))
{
m_y += Input.GetAxis("Mouse X");
m_x -= Input.GetAxis("Mouse Y");
this.transform.localEulerAngles = new Vector3(m_x, m_y, 0);
}
#endregion
}
}
自用常用工具 Unity,人物移动漫游
猜你喜欢
转载自blog.csdn.net/qq_58804985/article/details/126385931
今日推荐
周排行