Чтобы переместить игрока влево и вправо в Unity, вы можете использовать несколько методов. Вот некоторые из наиболее распространенных подходов:
компонента Transformпроигрывателя для перемещения его влево и вправо. Этот метод позволяет указать направление и расстояние движения.
// Move player left
transform.Translate(Vector3.left * speed * Time.deltaTime);
// Move player right
transform.Translate(Vector3.right * speed * Time.deltaTime);
- Rigidbody.AddForce: если вы используете компонент Rigidbody для игрока, вы можете использовать метод
AddForce, чтобы применить силу в нужном направлении.
// Move player left
rigidbody.AddForce(Vector3.left * force);
// Move player right
rigidbody.AddForce(Vector3.right * force);
- CharacterController.Move: если вашим игроком управляет компонент CharacterController, вы можете использовать его метод
Moveдля перемещения игрока влево и вправо.
// Move player left
characterController.Move(Vector3.left * speed * Time.deltaTime);
// Move player right
characterController.Move(Vector3.right * speed * Time.deltaTime);
- Input.GetAxis. Другой распространенный подход — использовать метод
Input.GetAxisдля получения горизонтальных входных данных от проигрывателя и последующего перемещения проигрывателя соответствующим образом.
// Move player left or right based on input
float horizontalInput = Input.GetAxis("Horizontal");
transform.Translate(Vector3.right * horizontalInput * speed * Time.deltaTime);
- Input.GetKey: вы также можете использовать метод
Input.GetKey, чтобы проверить, удерживается ли нажатой определенная клавиша, и соответствующим образом переместить проигрыватель.
// Move player left when A key is pressed
if (Input.GetKey(KeyCode.A))
{
transform.Translate(Vector3.left * speed * Time.deltaTime);
}
// Move player right when D key is pressed
if (Input.GetKey(KeyCode.D))
{
transform.Translate(Vector3.right * speed * Time.deltaTime);
}