Menu
CoddyTech

最后一波后打开

本课属于 Coddy Unity 学习旅程的“物理与游戏玩法”单元。第 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 在线编辑器