見出し画像

短編RPG制作(Unity2D)【第55回】ステージのループ


ステージのループ

レベル上げのため、一定のステージにとどまれるような機能を作成します。

ボタン追加

ステージを固定するためのボタンを追加しました。
押すたびにオンオフが切り替わるようにします。

ボタン追加

機能作成

ボタンに機能を付けます。

using UnityEngine;
using UnityEngine.UI;

public class StayThisStageButton : MonoBehaviour
{
    [SerializeField] private Button _button;
    public static bool stay = false;

    private void Start()
    {
        _button = GetComponent<Button>();
    }

    // ステージの固定・固定解除
    public void OnClickStayThisStageButton()
    {
        if (!stay)
        {
            stay = true;
            _button.image.color = Color.white;
        }
        else
        {
            stay = false;
            _button.image.color = Color.gray;
        }
    }
}

StayThisStageButtonクラスを作成しました。
Bool値「Stay」を追加し、ボタンを押すたびに真偽を変化させます。ついでに見た目でもオンオフが分かるようにボタンの色も変化させます。

//進捗パラメータ更新
killCount++;
if (killCount == nextKillCount)
{
    killCount = 0;
    if (!StayThisStageButton.stay)
    {
        stage++;
    }
}

合わせて、ステージの更新にも手を入れました。
ボタンのオンオフに応じて、ステージの値を加算するか分岐させています。
その他、ステージにとどまる場合はボス敵も出現しないようにしました。

まとめ

思い通りに機能を追加できました。
明日はポーズ機能、指定のステージに戻る機能などを追加したいと思います。

この記事が気に入ったらサポートをしてみませんか?