赞
踩
public float MoveSpeed = 15.0f;
public float RotateSpeed = 80.0f;
void Update () {
if (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.UpArrow))
{
transform.Translate(0, 0, 1 * MoveSpeed * Time.deltaTime, Space.Self);
}
if (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.DownArrow))
{
transform.Translate(0, 0, -1 * MoveSpeed * Time.deltaTime, Space.Self);
}
if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow))
{
transform.Translate(-1 * MoveSpeed * Time.deltaTime, 0, 0, Space.Self);
}
if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow))
{
transform.Translate(1 * MoveSpeed * Time.deltaTime, 0, 0, Space.Self);
}
if (Input.GetKey(KeyCode.Q))
{
transform.Rotate(0, -1 * RotateSpeed * Time.deltaTime, 0, Space.Self);
}
if (Input.GetKey(KeyCode.E))
{
transform.Rotate(0, 1 * RotateSpeed * Time.deltaTime, 0, Space.Self);
}
}

ControlCharacter001.cs
关于Time.deltaTime参看 https://blog.csdn.net/wdjhzw/article/details/73433658?locationNum=7&fps=1
使用Input,按键不再使用KeyCode这种方式
使用按键轴名定义 Axis
参数位置 Edit -> Project Settings -> Input
Positive Button:使用GetButton()时,引用的字符串名
Gravity:使用GetAxis()时,返回0的速度,越大越快
Sensitivity:使用GetAxis()时,达到1或-1的速度,越大越快
Dead:当使用摇杆时,当Dead越大需要移动越大的距离才会有返回值(当不需要过小的返回值时使用)
snap:使用GetAxis()时,如果勾选,正反按键同时按下会返回0
导出后的项目可以给用户修改按键
public float MoveSpeed = 15.0f;
public float RotateSpeed = 80.0f;
void Update () {
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
//Debug.Log(string.Format("h: {0} v: {1}", h, v));
transform.Translate(h * MoveSpeed * Time.deltaTime, 0, v * MoveSpeed * Time.deltaTime, Space.Self);
}
public float MoveSpeed = 15.0f;
public float RotateSpeed = 80.0f;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
float r = Input.GetAxisRaw("Rotate");
//Debug.Log(string.Format("h: {0} v: {1}", h, v));
transform.Translate(h * MoveSpeed * Time.deltaTime, 0, v * MoveSpeed * Time.deltaTime, Space.Self);
transform.Rotate(0, r * RotateSpeed * Time.deltaTime, 0, Space.Self);
}

按下按键 值从0逐渐变为1 放开按键从1逐渐变回0
变化的量由Gravity
如果使用GetAxisRaw替换GetAxis则没有缓冲效果
参看 https://blog.csdn.net/cui240558023/article/details/50448013?_t=t
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。