Вы до сих пор находитесь на правильном пути, но я предполагаю, что вы хотите, чтобы движение влево и вправо происходило на основе пользовательского ввода?
Это пример кода, который учитывал бы вход слева и справа, но может потребоваться настроить его для использования.
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/). –
ОК, спасибо ... –