【Unity】Textから文字列を取得するには?【uGUI】
Textから文字列を取得するには?
画面上に文字を表示する際よくお世話になるText。
スクリプトからTextの文字列を取り出す際に躓いた点をご紹介します。
Unityバージョン:Unity 2018.3.13f1
問題
・Text内のNew Textの文字列が正常に取得できない
Text内にあるNew Textという文字列を表示Logに表示したいと思います。
以下のコードで正常にでるかなと思ったのですが……。
ダメでした。
よく考えてみたらわかることですが、Textのコンポーネントの中にあるTextの文字列を表示したいので、きちんとアクセスしていませんでしたね。
解決
以下のコードできちんとNew Textの文字列が表示されました。
変数名にコンポーネント名を入れることが多いので、Text.textというようにちょっと分かり辛くなってしまいますね。
変数名は一度考え直すほうが良いかもしれません。
まとめ
・Text.ToString()ではコンポーネントの名前が表示されてしまう
・Text内の文字列を表示するには、Textコンポーネント内のtextにアクセスしよう
コンポーネント名が取得したい機会はあまりないと思いますが、取得した際コンポーネント名の後ろに(UnityEngine.UI.Text)と付いているので、純粋にTextで判定や比較を行う際は一工夫必要かもしれませんね。