Menu
CoddyTech

復習:レベル選択

CoddyのUnityジャーニー「本格的なゲームを作る」セクションの一部。レッスン 21/56。

challenge icon

チャレンジ

簡単

レベル選択画面。ビルドには Menu(インデックス 0)、Level1、Level2、Level3 が含まれています。Menu には 3 つのボタンがあり、Inspector で LevelSelect スクリプトの levelButtons に設定します。また、Progress オブジェクトもあります。各レベルでは、矢印キーで Player を金色の Goal まで移動させます。Goal のスクリプト(準備済み)は、レベルのビルドインデックスを指定して Progress.Instance.LevelDone(level) を呼び出します。

Progress.cs:

  • Progress はゲーム全体を通して保持され、存在するのは常に 1 つだけです。Progress.Instance から参照できますが、Menu が読み込まれるたびに新しいものを作成します。
  • unlocked はプレイヤーがプレイできる最も高いレベルです(開始時は 1)。LevelDone(int level) は次のレベルをアンロックし、すでにアンロック済みのレベルをロックすることはなく、Menu に戻ります。

LevelSelect.cs:Start で、各ボタンにそのボタンに対応するレベルを読み込むリスナーを設定します(最初のボタンは Level1、その次も同様です)。また、レベルがアンロックされている場合にのみボタンをクリック可能にします。

Play を押し、順番に各レベルをプレイして Level 1 をもう一度プレイし、その後 Check を押してください。

自分で試してみよう

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

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

    void Start()
    {
        // 各ボタンは対応するレベルを開きます。ロックされたレベルはクリックできません
    }
}

本格的なゲームを作るのすべてのレッスン