32歩目 新ステージを実装!(UI編) Unityで1日1ステップ!ノンフィールドRPG開発日記

1日1歩開発日記

ふりかえり

前回はステージごとに出現モンスターを変化させ、戦闘のバリエーションを追加しました!

前回の投稿はこちら↓

新ステージを実装!(UI編)

今回は、ステージごとに背景画像を切り替えるUI演出を実装していきます!

「まよいの森に入ったのに草原の背景のまま…」ではちょっと物足りませんよね。

ステージの雰囲気に合わせて背景画像を切り替えることで、ゲーム世界への没入感がぐっと高まります!

スクリプトの変更

StageMonsterManager.csに背景画像を切り替えるための処理を追加します。

  • ステージごとに対応した背景画像を表示
  • 背景の変更ログもバトルログに出力!
using UnityEngine;
using UnityEngine.UI;
using System.Collections.Generic;

[System.Serializable]
public class MonsterSet
{
    public Sprite backgroundImage; // このセットに対応する背景画像
}

public class StageMonsterManager : MonoBehaviour
{
    [Header("背景管理")]
    public Image backgroundImage; // 背景画像を表示するImageコンポーネント
    public Sprite defaultBackground; // デフォルトの背景画像

    void Start()
    {
        InitializeMonsterSets();
        
        // 初期背景画像を設定
        UpdateBackgroundImage();
    }

    // 現在のステージに応じた背景画像を取得
    public Sprite GetCurrentBackgroundImage()
    {
        MonsterSet currentSet = GetCurrentMonsterSet();
        
        if (currentSet != null && currentSet.backgroundImage != null)
        {
            return currentSet.backgroundImage;
        }
        
        return defaultBackground;
    }

    // 背景画像を更新
    public void UpdateBackgroundImage()
    {
        if (backgroundImage == null) return;
        
        Sprite newBackground = GetCurrentBackgroundImage();
        if (newBackground != null)
        {
            backgroundImage.sprite = newBackground;
            Debug.Log($"背景画像を変更しました: {newBackground.name}");
            
            // バトルログに背景変更を追加
            if (battleLogManager != null)
            {
                battleLogManager.AddBackgroundChangeLog(newBackground.name);
            }
        }
    }

    // 指定したステージの背景画像を取得
    public Sprite GetBackgroundImageForStage(int stage)
    {
        MonsterSet monsterSet = GetMonsterSetForStage(stage);
        
        if (monsterSet != null && monsterSet.backgroundImage != null)
        {
            return monsterSet.backgroundImage;
        }
        
        return defaultBackground;
    }
} 

Unityでの設定

  1. StageMonsterManager に Image をアタッチ(背景表示用UI)
  2. MonsterSet にステージごとの背景画像を設定
    • ステージ1〜3:はじまりの草原
    • ステージ4〜6:まよいの森
    • 以降も自由に追加可能!

動作確認

ゲームを開始してステージ4に突入すると背景がまよいの森に変化!

世界の広がりを視覚的に感じられるようになりました!

まとめ

今回はステージ背景の切り替え機能を実装しました!

  • ステージごとの雰囲気を視覚で表現
  • 世界観がより深く伝わる
  • ステージが進むワクワク感がアップ!

次回予告

次回はスキル発動や回復、強化時にSE(効果音)を追加して、

ゲームにさらに手応えを加えていきます!

お楽しみに!

タイトルとURLをコピーしました