到目前爲止您還處於正確的軌道,但我認爲您希望根據用戶輸入發生左右移動?
這是一個將考慮左右輸入的代碼示例,但它可能需要根據您的用例進行自定義。
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/)。 –
好的,謝謝... –