RGBplatformer
A downloadable game for Windows
В этом прототипе я реализовал перемещение, прыжок и смерть персонажа. Опишу только перемещение, чтобы не писать слишком много.
Кнопки: A или стрелка влево - перемещение влево, D или стрелка вправо - перемещение вправо, SPACE - прыжок.
Как реализовал перемещение:
Для начала перечислю переменные, которые использовал:
private Rigidbody2D rb; - тут буду хранить Rigidbody2D нашего персонажа
private float direction = 0f; - тут будет -1f или 1f, это будет зависеть от того какая клавиша нажата A или D. Если ничего не нажато, то будет 0f.
public float speed = 40f; - тут у меня скорость перемещения, изначально поставил 40f
Теперь по самой реализации:
void Start() // Метод встроенный в UnityEngine, срабатывает единожды
{
// тут получаю Rigidbody2D
rb = GetComponent<Rigidbody2D>();
}
void Update() // Метод встроенный в UnityEngine, срабатывает в каждый кадр игровой сессии
{
// Из класса Input беру метод GetAxisRaw для горизонтальной оси
// при нажатии на кнопку A или на стрелку влево вернет -1, при нажатии на кнопку D или стрелки вправо вернет 1
// если ничего не нажато вернет 0
direction = Input.GetAxisRaw("Horizontal");
}
private void FixedUpdate() // Метод встроенный в UnityEngine, срабатывает раз в период, который указан в настройках Unity
{ // Функция перемещения, она будет описана чуть ниже
// Она находится здесь, потому что в документации Unity было указано,
// что для корректной работы физики лучше использовать FixedUpdate
Move();
}
public void Move()
{ // Тут я обращаюсь к RidgitBody2D нашего персонажа, а именно к его скорости
// и далее кладу туда двумерный вектор, у которого на месте координаты x
// directin * speed * Time.fixedDeltaTime, тут как раз direction и контролирует направление движения
// а Time.fixedDeltaTime - время с последнего обновления, оно помогает сделать движения плавными
// по координате y ничего не меняем
rb.velocity = new Vector2(direction * speed * Time.fixedDeltaTime, rb.velocity.y);
}
Подсматривал сюда
и сюдаStatus | Released |
Platforms | Windows |
Author | theleonardde |
Genre | Platformer |
Download
Click download now to get access to the following files: