人物移動方式,有兩方式:
根據鍵盤輸入來進行移動。主要是用的代碼:
void Move()
{
if (Input.GetKey(KeyCode.W))
{
transform.Translate(Vector3.forward * Time.deltaTime);
}
else if (Input.GetKey(KeyCode.A))
{
transform.Translate(Vector3.left * Time.deltaTime);
}
else if (Input.GetKey(KeyCode.S))
{
transform.Translate(-Vector3.forward * Time.deltaTime);
}
else if (Input.GetKey(KeyCode.D))
{
transform.Translate(Vector3.right * Time.deltaTime);
}
}
該種方式與上述方式的不同在於使用Horizontal和Vertical,其具體設置在
Edit->Settings->Input。
GetAxisRaw 沒有使用平滑效果
float hor = Input.GetAxisRaw("Horizontal");
float ver = Input.GetAxisRaw("Vertical");
void Move(float hor, float ver)
{
if(hor > 0.0f)
{
transform.Translate(Vector3.right * Time.deltaTime);
}else if(hor < 0.0f)
{
transform.Translate(Vector3.left * Time.deltaTime);
} else if(ver > 0.0f)
{
transform.Translate(Vector3.forward * Time.deltaTime);
}
else if (ver < 0.0f)
{
transform.Translate(Vector3.back * Time.deltaTime);
}
}