前提・実現したいこと
unityによる開発で、TextMeshProのテキストをスクリプトより書き換えたいのですが、スクリプトAに書いたtextbox_name.text = "GAME\r\nCLEAR!!";
はうまく動くのですが、別のスクリプトでSceneManager.LoadScene(SceneManager.GetActiveScene().name);
を用いてsceneを読み込み直すと、スクリプトAのvoid Start()
内のtextbox_name.text = "";
が働かずにTextMeshProに文字が残ったままになってしまいます。 他のタイミングで書き換えようとしたのですが、何の反応もありませんでした。この場合は一度書き換えるともう上書きで書き換えることはできないのでしょうか?簡単なことかもしれませんが、どなたかご存知でしたら教えて頂きたいです。(エラーメッセージなどは出ていません)
該当のソースコード(スクリプトA)
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using TMPro; 5public class TextMashPro : MonoBehaviour 6{ 7 [SerializeField] 8 private TextMeshProUGUI textbox_name; 9 10 // Start is called before the first frame update 11 void Start() 12 { 13 14 textbox_name = this.GetComponent<TextMeshProUGUI>(); 15 textbox_name.text = " "; 16 } 17 18 // Update is called once per frame 19 void Update() 20 { 21 22 23 if (Common.WinResult == true) 24 { 25 textbox_name.text = "GAME\r\nCLEAR!!"; 26 } 27 else if (Common.LoseResult == true) 28 { 29 textbox_name.text = "GAME\r\nOVER!!"; 30 } 31 } 32}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/05 06:02