Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using UnityEngine.UI;
- public class PlayerMove : MonoBehaviour
- {
- void Start()
- {
- //Можете оставить ваш код здесь
- }
- //Добавляем ссылку на компонент CharacterController в инспектор
- [SerializeField] CharacterController controller;
- //Добавляем ссылку на переменную speed (скорость игрока) в инспекторе
- [SerializeField] float speed = 5f;
- //Создаем переменную гравитации для падения
- [SerializeField] float gravity = 50;
- //Создаем переменную для силы прыжка
- [SerializeField] float jumpForce = 40;
- //Создаем переменную для направления движения игрока
- private Vector3 direction;
- void Update()
- {
- // moveHorizontal будет принимать значение -1 если нажата кнопка A, 1 если нажата D, 0 если эти кнопки не нажаты
- float moveHorizontal = Input.GetAxis("Horizontal");
- // moveVertical будет принимать значение -1 если нажата кнопка S, 1 если нажата W, 0 если эти кнопки не нажаты
- float moveVertical = Input.GetAxis("Vertical");
- //Редактируем переменную направления, используя moveHorizontal и moveVertical
- //Мы двигаемся по координатам x и z, координата y для прыжков.
- if (controller.isGrounded) //проверяем что мы неа земле (тема условий будет дальше)
- {
- direction = new Vector3(moveHorizontal, 0, moveVertical);
- //Дополнительно умножая его на скорость передвижения (преобразуя локальные координаты к глобальным)
- direction = transform.TransformDirection(direction) * speed;
- if (Input.GetKey(KeyCode.Space)) //Проверяем что нажали пробел для прыжка
- {
- direction.y = jumpForce;
- }
- //Этой строчкой мы осуществляем изменение положения игрока на основе вектора direction
- //Time.deltaTime это количество секунд которое прошло с последнего кадра, для синхронизации по времени
- }
- //Если будете добавлять что-то связанное с управлением, делайте это здесь
- direction.y -= gravity * Time.deltaTime;
- controller.Move(direction * Time.deltaTime);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement