Unity Button(TextMeshPro)を使用したScene移動

 

 

UnityのTextMeshProのボタンの使い方を知りたいな。

 

 

 

はい、それでは、今回はUnityでのTextMeshProのボタンで別のSceneへ移動する機能を作ってみましょう。

 

 

 

 

まず、新しいプロジェクトを作成して、ヒエラルキーウインドウの左上から「UI」→「Button - TextMeshPro」を押してボタンを作成します。

 

 

 

 

 

 

 

 

「Import TMP Essentials 」と「Import TMP Examples and Extras」の両方をインポートします。

 

 

 

 

 

「Import TMP Examples and Extras」は、最初グレーアウトしているけど、「Import TMP Essentials 」をインポートすると押せるようになるね。

 

 

 

インポートが終わりましたら、「×」でダイアログを閉じます。

 

 

 

 

 

そうすると、ヒエラルキーウインドウに「Canvas」や「Button」が作成されます。

 

 

 

 

それでは、ボタンを押したら、別のSceneに移動するようなスクリプトを書いてみましょう。

 

 

 

【MoveNext.cs】

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

public class MoveNext : MonoBehaviour
{
    public void MoveNext001()
    {
        SceneManager.LoadScene ("NextScene");      
    }
}

 

次に、空のオブジェクトを作成し、そこにこのスクリプトをアタッチします。

 

 

 

 

 

 

 

 

ボタン自体にアタッチするわけではないんだね。

 

 

 

ボタンにアタッチしても、使うことができますが、結局は、ボタンにアタッチするだけで使えるようなものではなくて、ボタンにどの関数を使用するか設定する必要があるので。。。

 

 

 

 

スクリプトが増えてきたときに管理がしやすいと思って、空のオブジェクトにアッタッチしました。

 

 

それでは、先ほど作成した「Button」の Inspector ウィンドウで、クリックされた時、どの関数を実行するかを設定します。

 

 

 

 

 

 

 

「Onclick()」欄の「None(Object)」と書かれている場所へ、先ほどの空のオブジェクトをドラッグ&ドロップします。

 

 

 

 

 

 

 

 

さらに「Onclick()」欄の「No Function」と書かれているところの選択で、先ほど作ったスクリプトの「MoveNext001」を選びます。

 

 

 

 

 

なるほど。これで、クリックすると、さっきの関数が実行されるようになるんだ。

 

 

 

はい。それでは、次は遷移先になるSceneを新たに作成します。ここでは、名前は「NextScene」とします。

 

 

 

 

 

 

さらに大事なのは、Sceneを作るだけでは不十分で、「Build Settings」にSceneを登録しないといけません。

 

 

左上の「file」→「Build Settings」から、「Build Settings」の画面を開いて、「Add Open Scenes」をクリックすると、Sceneを登録することができます。

 

 

 

 

 

 

 

 

それでは、最初の画面「SampleScene」を開いて、ゲームを実行してみましょう。「Button」をクリックすると「NextScene」へ移動できていますね。

 

 

 

 

 

 

 

 

 

 

 

おお、画面移動できている。これに色々加えていけば、イイ感じになりそうだね。

 

 

 

 

はい。基本さえ掴めれば、色々追加したり、使いまわせていけそうですね!

 

 

 

 

 

 

 

 

 

 

 

 

お名前


削除キー(必須)

コメント(必須)


サイト内検索

twiter

CONTENTS

 

 

 

くるくるサンプルコード

 

 

 

【↓広告↓】