ふりかえり
前回はステージごとに出現モンスターを変化させ、戦闘のバリエーションを追加しました!
前回の投稿はこちら↓
新ステージを実装!(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での設定
- StageMonsterManager に Image をアタッチ(背景表示用UI)
- MonsterSet にステージごとの背景画像を設定
- ステージ1〜3:はじまりの草原
- ステージ4〜6:まよいの森
- 以降も自由に追加可能!

動作確認
ゲームを開始してステージ4に突入すると背景がまよいの森に変化!
世界の広がりを視覚的に感じられるようになりました!

まとめ
今回はステージ背景の切り替え機能を実装しました!
- ステージごとの雰囲気を視覚で表現
- 世界観がより深く伝わる
- ステージが進むワクワク感がアップ!
次回予告
次回はスキル発動や回復、強化時にSE(効果音)を追加して、
ゲームにさらに手応えを加えていきます!
お楽しみに!



