Menu
CoddyTech

一波波敌人

本课属于 Coddy Unity 学习旅程的“Unity 游戏架构”单元。第 54 课,共 64 课。

challenge icon

挑战

中等

让敌人一波一波地出现。

  1. 在 WaveSet.cs 中,添加一个带有 [System.Serializable] 的 Wave 类,并包含公共字段 Enemy enemy、count 和 spacing。
  2. 为 WaveSet 添加 [CreateAssetMenu]、public List<Wave> waves 和 public float restBetweenWaves。
  3. 在 WaveSpawner 中,让 Start 启动一个协程,让它无限循环处理各波敌人:将 Wave 加 1,记录 Wave 1,每隔 spacing 秒在 spawnPoints[i % spawnPoints.Length] 处生成敌人 i,然后休息。

按下 Play:先出现普通敌人,然后出现冲刺敌人。接着按 Check。

亲手试试

using UnityEngine;

public class WaveSpawner : MonoBehaviour
{
    [SerializeField] private WaveSet waveSet;
    [SerializeField] private Transform[] spawnPoints;

    public int Wave { get; private set; }

    // 后面的课会补全这里:将一波波敌人送入竞技场。
}

Unity 游戏架构中的所有课

自己练习: Unity 在线编辑器