使用CharacterController控制玩家移动

private CharacterController characterController;

//首先在Start里得到玩家身上的组件CharacterController

void Start(){

    characterController=GetComponent<CharacterController>();

}

//在Update里面控制移动

void Update(){

     float deltax=Input.GetAxis("Horizonal")*speed;

     float deltaz=Input.GetAxis("Vertical")*speed;

    Vector3 movement=new Vector3 (deltax,0,deltaz);

    //将对角移动的速度限制为和沿着轴移动的速度一样

     movement=Vector3.ClampMagnitude(movement,speed);

     movement*=Time.deltaTime;

    //将movement向量从本地坐标变为全局坐标

     movement=transform.TransformDirection(movement);

    characterController.Move(movement);

}

猜你喜欢

转载自blog.csdn.net/qq_39748188/article/details/80603802