Unity两行代码控制前后左右,并解决倒车反向问题

前进后退

一直往本地坐标系的正方向加(0,0,1)即可。

 this.transform.Translate(Input.GetAxis("Vertical") * Vector3.forward * Time.deltaTime * MoveSpeed,Space.Self);

左右旋转

如果在倒车的时候按住左键,应该向左后方移动

倒车出现错误的写法

该写法会向右后方移动

this.transform.Rotate(Vector3.up, Input.GetAxis("Horizontal") * Time.deltaTime * RotateSpeed, Space.Self);

解决倒车问题的写法

如果是倒车中,应该乘以倒车值(-1),否则乘以1,不能是0,0的话不按前进后退不旋转

this.transform.Rotate(Vector3.up, Input.GetAxis("Horizontal") * (Input.GetAxisRaw("Vertical") < 0 ? -1 : 1) * Time.deltaTime * RotateSpeed, Space.Self);

你可能感兴趣的:(unity,游戏引擎)