前提・実現したいこと
Unityで2Dのゲームを作成中です。
コース選択画面でコースを選択後、ゲーム開始画面で画面上部に選んだコース名を表示するようにしたいです。
「かんたん」ボタン押下→画面左上に「かんたん」と表示
発生している問題・エラーメッセージ
CourseNameDisplayボタンのテキストを取得して値を書き換えたいのですが、
Debug.Log()で取得された文字を表示すると、画面上に2つあるボタンのうちの関係ない方のThrowAwayButtonの値が取得されているようです。
しかし、実際にボタンのテキスト書き換えてみると、CourseNameDisplayのテキストが書き換わっています。
CourseNameDisplayのテキストを書き換えたいのに、ThrowAwayButtonのテキストがデバッグで表示される
該当のソースコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.SceneManagement; 5 6// UI操作用に指定 7using UnityEngine.UI; 8 9public class CourseDisplayScript : MonoBehaviour 10{ 11 // static変数から前画面で選択されたコース名を取得 12 public string courseName = GameStartButtonChildScript.getCourseName(); 13 14 // 初期表示のボタンテキストを取得する準備 15 Text courseNameText; 16 17 // Start is called before the first frame update 18 void Start() 19 { 20 // UIのテキストの取得の仕方 21 courseNameText = this.GetComponentInChildren<Text>(); 22 23 // ここでなぜかThrowAwayButtonのボタンの文字が表示される 24 Debug.Log("111" + courseNameText.text); 25 26 courseNameText.text = courseName;//テキストの変更 27 28 // CourseNameDisplayのテキストが書き換えられている 29 // 上でThrowAwayButtonのテキストが表示されるのにこちらで正しく書き換えされるのはなぜ? 30 Debug.Log("222" + courseNameText.text); 31 } 32 33 // Update is called once per frame 34 void Update() 35 { 36 37 } 38}
試したこと
親オブジェクトから子オブジェクトを取得する方法を試したが、オブジェクトは「CourseNameDisplay」だけだった。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/06 13:40