🎮

新種のButtonでシーン遷移 〜Unity

2023/11/24に公開

2022.3.14に上げてみた

一年ぶりに触るProject(2021.3.16)がなかなか言うことを聞いてくれないので、
この際だから最新のLTSに上げてみた。
で、Buttonでシーン遷移、に挑戦。
Buttonは UIの中のLegacyに押し込められてるシンプルなヤツと
Button - TextMeshProというのがある。
せっかくだから新しいほうを使う。

TextMeshProを入れレ、といわれるので入れる。

こういう表示が出ると、反射的にclickしてしまう性格なので、
正確には何を言われて何をしたのかよくわからない。
今回はうまくいったけど、この性格はしばしば失敗する。
でも治らないのです。
自動的にCanvasが設定されて、その下にButtonができて、
よく見るとさらにその下にText(TMP)ができている。
TextをclickするとinspectorにButtonと書いてある入力窓があるから
それを好きな名前に変える。Startとか、Backとか。

遷移のScriptを書く

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

public class BackButton : MonoBehaviour
{
    public void SwitchScene() 
    {
        SceneManager.LoadScene("TopPage", LoadSceneMode.Single);
    }
}

クラス名を変え、遷移先を変えれば、いくらでもつくれる。

Buttonにattach

  • ScriptをButtonにattach。
  • ButtonのOnClick()という欄の右下にある+ボタンを押す。
  • Runtimeという四角と、その右が NoFunction、その下がnoneになっている。
  • Buttonを引っぱってnoneの上に持ってくる。noneがブルーに変わったら投下。
  • NoFunctionの部分に選択肢ができるので、一番下にある自分のScript名をclick。
  • さらに選択肢がずらっと出るので、上の例ならSwitchSceneを選ぶ。

こんなふうになる。

LegacyのTextより、圧倒的に文字がきれい。

Discussion