Открыть после последней волны
Часть раздела Физика и игровой процесс путешествия по Unity на Coddy. Урок 65 из 71.
На этом шаге мы завершим Arena Escape: добавим силы для игрока, скорости для охотников, волны с помощью сопрограммы, урон через скрипт Health и выход, открываемый из другого скрипта.
Задание
СреднеОткройте выход, когда последняя волна закончится.
- В
Spawnerдобавьте[SerializeField] private Exit exit;. В сцене в него помещена площадка выхода. - В
SendWaves()после циклаforвызовитеexit.Open();.
Нажмите «Играть», переживите три волны и добегите до зелёного выхода. Затем нажмите «Проверить».
Попробуйте сами
using System.Collections;
using UnityEngine;
public class Spawner : MonoBehaviour
{
[SerializeField] private GameObject hunterPrefab;
[SerializeField] private Transform[] spawnPoints;
[SerializeField] private int waves = 3;
[SerializeField] private float waveDelay = 4f;
void Start()
{
StartCoroutine(SendWaves());
}
IEnumerator SendWaves()
{
for (int wave = 1; wave <= waves; wave++)
{
Debug.Log("Wave " + wave);
for (int i = 0; i < wave; i++)
{
Transform point = spawnPoints[i % spawnPoints.Length];
Instantiate(hunterPrefab, point.position, Quaternion.identity);
}
yield return new WaitForSeconds(waveDelay);
}
}
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Физика и игровой процесс
1Твёрдое тело
Гравитация и массаТолкаем с помощью AddForceПрыжок с импульсомFixedUpdate для физикиСкоростьКинематические телаПовторение: пусковая площадка4Корутины
InvokeInvokeRepeating, CancelInvokeВаша первая корутинаЦиклы в корутинахОстановка корутинПовторение: обратный отсчёт10Проект: Побег с арены
АренаОхотники2Столкновения
OnCollisionEnterВо что я попал?Разрушение при столкновенииСтояние на землеОтскок и трениеФормы коллайдеровПовторение: разрушаемая стена5Проект: Монетная гонка
Катящийся шарСобираем монетыПотренируйтесь самостоятельно: Песочница Unity