Menu
CoddyTech

Повторение: двойной прыжок

Часть раздела Создание настоящих игр путешествия по Unity на Coddy. Урок 42 из 56.

challenge icon

Задание

Средне

Напиши управление движением героя платформера в Hero.cs; у героя есть CharacterController. В Inspector задаются speed (5), gravity (-25), jumpHeight (2) и airJumpHeight (1.28).

  • Стрелки (или WASD), считываемые через необработанные оси, перемещают героя с помощью controller.Move со скоростью speed единиц в секунду вдоль осей x и z.
  • Реализуй гравитацию вручную: вертикальная скорость каждую секунду увеличивается на gravity; когда герой стоит на земле и падает, установи её равной -2.
  • Прыжок на пробел при нахождении на земле поднимает героя ровно на jumpHeight.
  • Прыжок на пробел в воздухе позволяет прыгнуть ещё раз, поднявшись на airJumpHeight выше точки, в которой была нажата клавиша. За время нахождения в воздухе можно совершить один прыжок: после приземления эта возможность возвращается.

Нажми Play, совершив двойной прыжок, запрыгни на выступ, затем нажми Check.

Попробуйте сами

using UnityEngine;

public class Hero : MonoBehaviour
{
    public float speed = 5f;
    public float gravity = -25f;
    public float jumpHeight = 2f;
    public float airJumpHeight = 1.28f;

    CharacterController controller;

    void Start()
    {
        controller = GetComponent<CharacterController>();
    }

    void Update()
    {
    }
}

Все уроки раздела Создание настоящих игр