Menu
CoddyTech

Повторение: пусковая площадка

Часть раздела Физика и игровой процесс путешествия по Unity на Coddy. Урок 7 из 63.

challenge icon

Задание

Легко

Игрок (Rigidbody массой 2 кг) идёт по земле к оранжевой стартовой площадке, Transform которой находится в поле pad. Напиши Jumper:

  • Стрелки влево и вправо перемещают игрока вдоль оси x со скоростью ровно speed м/с (4), используя необработанную ось; если ни одна стрелка не нажата, игрок стоит на месте, а гравитация продолжает действовать.
  • Нажатие пробела на площадке подбрасывает игрока строго вверх импульсом launch (16), поэтому учитывается его масса. Игрок находится на площадке, если его координата x отличается от координаты x площадки менее чем на 1. В любом другом месте нажатие пробела ничего не делает.
  • Нажатия пробела не должны теряться: считывай их в Update(), а всю физику выполняй в FixedUpdate().

Нажми Play, дойди до площадки и подбрось игрока, затем нажми Check.

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

using UnityEngine;

public class Jumper : MonoBehaviour
{
    public float speed = 4f;
    public float launch = 16f;
    public Transform pad;
    private Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }
}

Все уроки раздела Физика и игровой процесс