到目前为止您还处于正确的轨道,但我认为您希望根据用户输入发生左右移动?
这是一个将考虑左右输入的代码示例,但它可能需要根据您的用例进行自定义。
public float movementSpeed = 6f;
void Update()
{
transform.Translate(Vector3.forward * Time.deltaTime);
//Strafe your object Left and right based on user input
transform.Translate(Vector3.right * Time.deltaTime * Input.GetAxis("Horizontal") * movementSpeed);
}
,你可以使用旋转播放器的方法的例子:
为了让您的播放器转90度,你将需要旋转实际的对象。根据您的实际逻辑/游戏,你可以做简单的东西如:
void Update() {
transform.Translate(Vector3.forward * Time.deltaTime);
//Strafe your object Left and right based on user input
transform.Translate(Vector3.right * Time.deltaTime * Input.GetAxis("Horizontal") * movementSpeed);
if (Input.GetKeyDown("q")) {
this.transform.Rotate(0, -90, 0);
}
if (Input.GetKeyDown("e")) {
this.transform.Rotate(0, 90, 0);
}
}
加速度计输入:
void Update() {
transform.Translate(Vector3.forward * Time.deltaTime);
if (Input.acceleration.x > 0) {
this.transform.Rotate(0, 90, 0);
}
else if (Input.acceleration.x < -0) {
this.transform.Rotate(0, -90, 0);
}
}
你可能想也考虑在[游戏开发]问这个了( http://gamedev.stackexchange.com/)。 –
好的,谢谢... –