学習記事一覧 · Unity横スクロールアクション

【学習】ステージの拡張(複数プラットフォームと背景)

これまでの学習では、

  • 横スクロールアクションの基本(1枚の床、敵)を作った
  • プロジェクトの準備を整えた

という形で土台を押さえてきました。

しかし、複数のプラットフォーム(高さの違う床)や背景があるステージはまだ作っていません。

ステージの拡張

をして、より遊びやすいステージにします。

今回は 複数プラットフォーム背景の配置 を学びます。

今日作るもの

  • 高さの違う床を複数配置する
  • プレイヤーが落ちないように、床を連続して配置する
  • 背景用の Sprite を配置する(任意)

必要なオブジェクト

オブジェクト 役割
Ground(複数) 床。高さを変えて配置。Box Collider 2D、Static
Background(任意) 背景用 Sprite。Collider 不要、Order in Layer を後ろに

手順1:複数プラットフォームを配置する

  1. 既存の Ground を複製(Ctrl+D または Duplicate)
  2. 各 Ground の Transform で Position を変更し、高さや横の位置をずらす
  3. 例:地面(y=-2)、中段(y=0)、上段(y=2)のように配置
  4. プレイヤーがジャンプで届く範囲内に配置する

手順2:床の間を埋める

  1. プレイヤーが床と床の間に落ちて行方不明にならないようにする
  2. 横に長い床を配置するか、床と床の間隔を狭くする
  3. 必要に応じて「落ちたらゲームオーバー」の判定を追加(後述)

手順3:背景を配置する(任意)

  1. 2D Object → Sprite で Background を作成
  2. Sprite Renderer の Order in Layer を -1 などにして、前面より後ろに表示
  3. Scale を大きくして画面全体を覆う

重要ポイント

  • 複数の床は、それぞれに Box Collider 2D を付ける(親子関係でまとめても可)
  • プレイヤーが落ちる穴を作る場合は、落ちたらゲームオーバーなどの処理を検討する
  • 背景は Order in Layer で前面オブジェクトより後ろに表示する

発展アイデア

  • Tilemap を使って床を敷く(2D Tilemap Editor)
  • プレハブ化した床パーツを組み合わせてステージを構成する