【发布时间】:2018-03-11 05:16:10
【问题描述】:
我有一个简单的动作,它围绕着向前移动,这取决于我看的地方。相机跟随玩家。我遇到的问题是,每当我撞到一个物体时,我的角色(连同相机)就会开始疯狂地旋转。 (我是编码新手)
这是我的角色所面对的运动的代码:
public class Player : MonoBehaviour {
public float movementSpeed = 10;
public float turningSpeed = 60;
public Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody> ();
}
void Update() {
float horizontal = Input.GetAxis("Mouse X") * turningSpeed *
Time.deltaTime;
transform.Rotate(0, horizontal,0);
float vertical = Input.GetAxis("Mouse Y")* turningSpeed * Time.deltaTime;
transform.Rotate(vertical, 0, 0);
float movement = Input.GetAxis("Foward") * movementSpeed *
Time.deltaTime;
transform.Translate(0, 0,movement);
}
}
(抱歉格式错误) 鼠标 X 只是让它在鼠标的 x 轴上旋转(与 y 轴相同)。前向只是统一的垂直输入预设。 这是lookAt播放器的代码:
public class LookAtCamera : MonoBehaviour {
public GameObject target;
void LateUpdate() {
transform.LookAt(target.transform);
}
}
【问题讨论】:
-
Input.GetAxis("Foward")返回什么?我猜它应该是 Forward 而不是 Forward? -
是的,我在输入和编码下命名错误。它按预期工作。