Столкновение завершает забег
Часть раздела Создание настоящих игр путешествия по Unity на Coddy. Урок 31 из 60.
Задание
СреднеПри столкновении забег должен остановиться.
- Над
GameManagerобъявиpublic enum GameState { Playing, GameOver }; внутри добавьpublic GameState state = GameState.Playing;. public void GameOver()присваиваетstateзначениеGameState.GameOver, присваиваетspeedзначение 0 и показываетgameOverPanel.RunnerвызываетGameManager.Instance.GameOver()при срабатывании триггера с тегомObstacle. СкриптыGameManager,RunnerиSpawnerначинаютUpdate()сreturn, если состояние неPlaying.
Нажми «Играть» и столкнись с препятствием: всё остановится. Затем нажми «Проверить».
Попробуйте сами
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using TMPro;
public class GameManager : MonoBehaviour
{
public static GameManager Instance;
public float speed = 10f;
public float speedUp = 0.5f;
public float maxSpeed = 20f;
public TMP_Text distanceText;
public GameObject gameOverPanel;
public Button restartButton;
private float distance;
void Awake()
{
Instance = this;
}
void Update()
{
speed = Mathf.Min(speed + speedUp * Time.deltaTime, maxSpeed);
distance += speed * Time.deltaTime;
distanceText.text = "Distance: " + Mathf.FloorToInt(distance) + " m";
}
}
Все уроки раздела Создание настоящих игр
1Текст на экране
Холст и текстПокажем счётФорматирование чиселТаймер обратного отсчётаПовторение: спидометр4Сцены и уровни
Загрузить сценуПерезапустить уровеньСледующий уровеньСохранить между сценамиПовторение: выбор уровня2Кнопки и экраны
Кнопки и onClickЛямбдыСвязи в InspectorВключение и выключение панелейШкалы здоровьяПовторение: магазин улучшений5Сохранение с помощью PlayerPrefs
Сохранение числаЗагрузка со значением по умолчаниюРекордСохранение настроекПовторение: монеты в банке3Менеджер игры
Один скрипт управляет игройОдиночкаСостояния игрыПереключение состоянияПовторение: менеджер раундов6Проект: Бесконечный раннер
Три полосыПрепятствия впередиПотренируйтесь самостоятельно: Песочница Unity