[Unity]初心者向け横スクロール2Dアクションゲームの作り方(クリア画面作り)

今回はゲームクリア画面を作っていきます。
ステージに違う色の地面を作り、それに触れるとゲームクリアとなり動画のような画面を表示させます。


目次

操作キャラ作り

ステージ作り

GAMEOVER画面作り

敵作り

GAMECLER画面とタイトル作り

ではまずはヒエラルキーの「+」マークから「空のオブジェクト」を追加し、名前を「GameClear」とします(画像赤丸)

そして地面を一つ複製し、それを「GameClear」の中に入れます(画像1番目の赤丸)
そしてその地面の色を変更して緑色を強くしてステージの最後のところに移動します(画像2番目の赤丸)

これに触れるとクリア画面が表示されるようにします。

そしてゲームオーバー画面の時と同じように「GameClear」の中に画面を作っていきます。
作り方はゲームオーバー画面の時と同じ感じです。

説明は省略しますが、画像のように作ってみてください。
ゲームーオーバーの時はリトライボタンの一つでしたが、今回は「次のステージ」と「タイトルに戻る」の二つを用意します。

できたら新しいスクリプトを追加して名前を「GAMECLEAR」とします(画像赤丸)

スクリプトは以下のコードをコピー&ペーストしてください。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class GAMECLEAR : MonoBehaviour
{
    public GameObject gameclear;
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {

    }
    private void OnCollisionEnter2D(Collision2D other)
    {
        if (other.gameObject.CompareTag("Player"))
        {
            gameclear.SetActive(true);
        }
    }
    public void Next()
    {
        SceneManager.LoadScene("Play2");
    }
    public void title()
    {
        SceneManager.LoadScene("title");
    }
}

そしてクリア画面を非表示にしますが、今回は「GameClear」ではなく、中に入れてある「Canvas」を(画像1番目の赤丸)非表示にしましょう(画像2番目の赤丸)

スクリプトが出来たらそれをクリア判定にする地面に付けます。緑色を強くした地面ですね(画像1番目の矢印)
そして追加したスクリプトには「Gameclear」という欄があるので「Gameclear」の中にある非表示にした「Canvas」を左クリック長押しで入れます(画像2番目の矢印)

次に前回開いた「Scenes」を開き(画像1番目の赤丸)、ショートカットキーで「Pay1」をコピーし、コピーした物の名前を「Pay2」とします(画像2番目の赤丸)
Scenesは使っているPCによって右クリックでコピーできないのでショートカットキーでコピーした方がいいです。

Pay2はPay1と違うステージにしてください。Pay1をクリアした後の次のステージなので!

ここまでできたら次にタイトル画面を作って行きます。タイトル画面はスクリプトを作る時と同じようにプロジェクト内で右クリックをし、その中にある「作成」(画像1番目の赤丸)を押し、「シーン」をクリックすることで作ることができます(画像2番目の赤丸)

すると新しくシーンが追加されます(画像赤丸)。先ほどもシーンをコピーしたりと少し触れましたが、このシーンというのは簡単に言えばゲームが入った場所で、これを複数作ることで各ステージやタイトル画面を作ることができます。

追加したシーンは「title」という名前に変更します。ここにタイトル画面を後から作っていきましょう。

シーンを追加したら上の「ファイル」をクリックし(画像1番目の赤丸)、その中にある「ビルド設定」をクリックします(画像2番目の赤丸)

すると画像のような画面が表示されるので、コピーした「Pay2」と新しく作った「title」の二つを左クリック長押しで矢印の方向に持っていきます(画像赤丸)

画像と同じように3つシーンが矢印先に表示されていればOKです。これをやっておかないと後でスクリプトでシーン切り替えをする時にエラーが起きてしまいます。

ここで「title」を一番上に移動しておくことでゲームをアプリにした時に最初にタイトル画面からスタートさせることができます(画像赤丸)。ここでもうやっておきましょう。

ここからはクリア画面のボタンに機能をつけていきます。前回のゲームオーバーの時とやり方は同じですが、スクリプトはクリア判定をつけてる緑色の地面に付けているので、ボタンの画像矢印の部分にはその緑色の地面を入れてください(画像赤丸)

右側の欄は「次のステージ」のボタンなら「GAMECLEAR」→「Next」とクリックします。
「タイトルに戻る」のボタンは「GAMECLEAR」→「title」とクリックします。

これでこのステージでやることは全て完了したので最後にタイトル画面を作っていきましょう。
「title」を開きます(画像赤丸)

開くとヒエラルキーが空の新しい画面ができるので適当にタイトル画面を作ります。作り方はこれもゲームオーバーの時と同じですが、自分の好きなようにアレンジしてみてもいいです。

ただ「ゲームスタート」というボタンを一つだけ追加しておいてください。

そしたら最後にスクリプトを作り、名前を「GameStart」とします(画像赤丸)
このスクリプトは名前の通りゲームを開始するスクリプトでタイトルからプレイ画面に移動するために使います。

スクリプトは以下のコードをコピー&ペーストしてください。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class GameStart : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
    public void start()
    {
        SceneManager.LoadScene("Play1");
    }
}

そしてスクリプトをなんでもいいのでヒエラルキーの適当なオブジェクトに付けて、ボタンに機能を入れていきます(画像赤丸)

画像ではCanvasにスクリプトを入れています。

クリック時()の右側は「GameStart」→「start」にします。

これで全ての作業が完了しました!お疲れ様でした!
ステージはまだ一つだけなので個人でいろんなステージを作ってみてください!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です