前提・実現したいこと
CanvasのTextMeshProを利用して、Level1,level2...といったLevelの表記を行いたいです。
スクリプトでSceneごとにbuildIndexを取得して、Level〇の部分の数字を変更したいのですが
Textを取得する部分でnullのエラーが発生しました。解決方法についてご教示いただけますと幸いです。
発生している問題・エラーメッセージ
buildIndexは取得できています。
変更したいTextの取得がnullとなっているようです。
(スクリプトの levelText = this.GetComponent<Text>(); の箇所)
該当のソースコード
C#
1using UnityEngine; 2using UnityEngine.UI; 3using UnityEngine.SceneManagement; 4 5public class UIManager : MonoBehaviour 6{ 7 private Text levelText; 8 //public delegate void SetCurrentState(GameState state);//型 9 //public SetCurrentState setCurrentState; //外部から登録できる関数の型 10 // Start is called before the first frame update 11 void Start() 12 { 13 changeLevel(); 14 } 15 16 // Update is called once per frame 17 void Update() 18 { 19 20 } 21 public void changeLevel() 22 { 23 24 //indexを利用してシーンごとに初期化する(UiManagerのLevel表記で使いたい) 25 int index = SceneManager.GetActiveScene().buildIndex; 26 index++; 27 Debug.Log(index); 28 levelText = this.GetComponent<Text>(); 29 Debug.Log(levelText); 30 levelText.text = "Level" + index; 31 } 32} 33
補足情報(FW/ツールのバージョンなど)
UIManager.csは、Text(TMP)本体にアタッチしています。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/20 02:32