我正在使用C#统一玩游戏,玩家使用Xbox 360控制器控制角色,我可以使用正确的操纵杆轻松旋转玩家:
if(Input.GetAxis("RightJoystickX")!=0 && Input.GetAxis("RightJoystickY")!=0)
{
float horizontal = Input.GetAxis("RightJoystickX") * Time.deltaTime;
float vertical = Input.GetAxis("RightJoystickY") * Time.deltaTime;
float angle = Mathf.Atan2(vertical, horizontal) * Mathf.Rad2Deg;
characterController.transform.eulerAngles = new Vector3(0, newAngle, 0);
}
然而,每次我释放操纵杆然后再次移动操纵杆时,它会立即跳转到新位置并且不会将旋转添加到前一个旋转。这是一个问题,因为玩家只能在角色旋转的方向上向前移动,我需要能够将旋转添加到之前的状态而不会跳转到新的旋转。