Menu
CoddyTech

回顾:选择关卡

本课属于 Coddy Unity 学习旅程的“打造真正的游戏”单元。第 21 课,共 60 课。

本次回顾将本章内容串联起来:使用 DontDestroyOnLoad,让管理器在场景加载后继续存在;按钮则按名称或编号加载场景。完成一个关卡后,菜单会开放下一个关卡。

challenge icon

挑战

简单

创建一个关卡选择界面,让关卡在完成后解锁。

  1. Progress.Awake():销毁新创建的对象并返回,否则设置 Instance,并调用 DontDestroyOnLoad(gameObject)。
  2. LevelDone(int level):unlocked = Mathf.Max(unlocked, level + 1);,然后加载 Menu。
  3. LevelSelect.Start():按钮 i 加载关卡 i + 1(先复制它),并且只有在关卡不高于 Progress.Instance.unlocked 时才可交互。

按“开始”并完成第 1 关:第 2 关的按钮就会解锁。然后按“检查”。

亲手试试

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class LevelSelect : MonoBehaviour
{
    public Button[] levelButtons;

    void Start()
    {
        // 每个按钮都会打开对应的关卡;锁定的关卡无法点击。
    }
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

打造真正的游戏中的所有课

自己练习: Unity 在线编辑器