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」へ移動できていますね。




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


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


お名前