Unityでゲームを作る備忘録

Unity/C#/IT備忘録

Unityをはじめました。初心者なので作り方など備忘録として残していきたいと思います。

【画面遷移】タイトル画面からトップページに遷移

 

ここでは【画面遷移】シーン移動

タイトル画面でボタンをクリックしたらTOP画面にいくやつです!

そのやり方をまとめたいと思います!

 

 

1,タイトル画面とTOPページを作成します

Projectウィンドウ>Assets>Scenes>右クリック>作成>シーン

上記の方法で遷移元のシーンと遷移先のシーンを作成します。

ここでは

遷移元=「title」

遷移先=「top」としています。

 

 

2,titleシーンにボタンを配置します

前回のブログに作成方法が載っています。

簡単に説明すると

Hierarchyウィンドウ>UI>Button-TextMeshPro

そうすると、Hierarchyウィンドウの中のcanvasの中にButton(TMP)が配置されます。

 

 

3,スクリプトを書きます

先ほど配置したボタンに、title→topに遷移する処理を書きます。

今回はファイルが多くはないので

Assetsの上で右クリック>ファイル>C# スクリプト

そうすると、C# スクリプトがAssetsの中にできます。

名前は「titleScript」にしました。

[コード]

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//usingはシーン遷移に必要なパッケージ
using UnityEngine.SceneManagement;

public class titleScript : MonoBehaviour
{
    //inspectorで「sceneName」は設定
    public string sceneName;

    // Start is called before the first frame update
    void Start()
    {

    }

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

    }

    
    public void LoadScene()
    {
        //inspectorで「sceneName」は設定
        SceneManager.LoadScene(sceneName);
    }
}

 

赤が今回追加したコードです。

(私がわかりやすいようにメモのコメントが多いです...💦)

public=「型と型のメンバーを示すアクセス修飾子。

     制限の無いアクセスレベルとする場合に利用します

 

4,スクリプトをアタッチします

作成したボタンにtitleScript.csをドラック&ドロップでアタッチします。

するとButtonのinspectorにスクリプトが追加されているのがわかります。

その下に「Scene Name」があります。(さっきスクリプトで書いたのと同じですね!)

そこに遷移先のシーン名(top)を記載します。

 

inspectorウィンドウの「クリック時()」の部分の+ボタンをクリックします。

下記のものが出てきました。

・「なし(オブジェクト)」の部分にButtonオブジェクトをドラック&ドロップします。

・No Functionの部分にtitleScript>LoadShceneを選択します。(下記参照)

 

このようにできたでしょうか?

 

全て設定できたら実行ボタンをクリックします。

「できた!」と思ったらエラー...。

ビルドしていないのが原因でした。

 

ビルドの方法についてはこちらに記載させていただきました。

hanagara4869.hatenablog.com

 

ビルドをしていた場合は実行ボタンをクリックしたら画面が遷移できたと思います。

 

 

 

最後に

「ホーム画面」Unity でホーム画面作成

で作成したのも(私はタイトル画面/TOP画面/選曲画面/リザルト)に各遷移ボタンを付けたら成長を実感できました(笑)

記事が参考になったら嬉しいです。