Menu
CoddyTech

Открыть после последней волны

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

На этом шаге мы завершим Arena Escape: добавим силы для игрока, скорости для охотников, волны с помощью сопрограммы, урон через скрипт Health и выход, открываемый из другого скрипта.

challenge icon

Задание

Средне

Откройте выход, когда последняя волна закончится.

  1. В Spawner добавьте [SerializeField] private Exit exit;. В сцене в него помещена площадка выхода.
  2. В 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);
        }
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

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

Потренируйтесь самостоятельно: Песочница Unity