Повторение: Bullet Time
Часть раздела Создание настоящих игр путешествия по Unity на Coddy. Урок 37 из 60.
В этой главе мы замораживали, замедляли и перезапускали время в игре. Режим замедления времени объединяет всё это: уменьшенное значение Time.timeScale, соответствующий ему шаг физики и шкалу, отсчитывающую реальные секунды.
Задание
СреднеДобавь в игру эффект замедления времени.
- В
Update(), пока удерживается Space иfocus > 0f: установи масштаб времениslowScale, шаг физики0.02f * slowScale, аfocusдолжен уменьшаться на 1 за реальную секунду, но не ниже 0. - Иначе установи масштаб
1f, шаг0.02f; когда Space не удерживается,focusдолжен восстанавливаться со скоростьюrechargeза реальную секунду, но не вышеmaxFocus. - Затем
focusBar.fillAmount = focus / maxFocus;
Нажми «Играть» и удерживай Space: дождь замедлится. Затем нажми «Проверить».
Попробуйте сами
using UnityEngine;
using UnityEngine.UI;
public class BulletTime : MonoBehaviour
{
public float slowScale = 0.2f;
public float maxFocus = 2f;
public float recharge = 0.5f;
public Image focusBar;
float focus;
void Start()
{
focus = maxFocus;
}
void Update()
{
// Замедление времени, пока удерживается Space и остаётся запас концентрации; в противном случае — обычное время, затем обновление шкалы
}
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Создание настоящих игр
1Текст на экране
Холст и текстПокажем счётФорматирование чиселТаймер обратного отсчётаПовторение: спидометр4Сцены и уровни
Загрузить сценуПерезапустить уровеньСледующий уровеньСохранить между сценамиПовторение: выбор уровня7Управление временем
Пауза с timeScaleЗамедленное движениеНемасштабируемое времяПовторение: Bullet Time2Кнопки и экраны
Кнопки и onClickЛямбдыСвязи в InspectorВключение и выключение панелейШкалы здоровьяПовторение: магазин улучшений5Сохранение с помощью PlayerPrefs
Сохранение числаЗагрузка со значением по умолчаниюРекордСохранение настроекПовторение: монеты в банкеПотренируйтесь самостоятельно: Песочница Unity