方法一:使用Transform组件
public class Mover : MonoBehaviour
{
public float speed = 10f;
private void Update()
{
float hMove = Input.GetAxis("Horizontal") * speed;
float vMove = Input.GetAxis("Vertical") * speed;
Vector3 translation = new Vector3(hMove, 0f, vMove) * Time.deltaTime;
transform.Translate(translation);
}
}
方法二:使用CharacterController组件
public class MoveByCharacterController : MonoBehaviour
{
public float speed = 5f;
private CharacterController controller;
private void Start()
{
controller = GetComponent<CharacterController>();
}
private void Update()
{
Vector3 velocity = new Vector3(Input.GetAxis("Horizontal"), 0f,
Input.GetAxis("Vertical")) * speed;
controller.SimpleMove(velocity);
}
}