ヽ|∵|ゝ(Fantom) の 開発blog? ホーム » Unity »【Unity】【C#】【JavaScript】4.6.x の Canvas~UI Text のテキストをコードで変更する

【Unity】【C#】【JavaScript】4.6.x の Canvas~UI Text のテキストをコードで変更する  


 持っている資料が古いのか、Ver 4.6.x 以降は GUI Text ではなく、Canvas に入れ子になっている UI Text を使う仕様になっていたので、GuiText のプロパティにテキストを設定する方法ではなくなっていた。ネット上にあるサンプルもレガシーのやり方ばかりなので、イマイチ良い資料がない。というわけで適当にやってみたら、上手くいったコード。


 例えば画像のように、Canvas の中に、msg、itemCount、time (それぞれ GameObject - UI - Text で作ったもの)があった場合、

●C#
//宣言部 - 追加
using UnityEngine.UI;

//メインコード部
Text msg = GameObject.Find("Canvas/msg").GetComponent<Text>();
msg.color = Color.red;
msg.text = "COMPLETE!";

Text item = GameObject.Find("Canvas/itemCount").GetComponent<Text>();
item.color = Color.blue;
item.text = "ITEM: " + count; //variable

Text time = GameObject.Find("Canvas/time").GetComponent<Text>();
time.text = "TIME: " + Mathf.Floor(Time.time);

●JavaScript
//宣言部 - #pragma strict のすぐ下あたりに追加
import UnityEngine.UI;

//メインコード部
var msg : Text = GameObject.Find("Canvas/msg").GetComponent("Text") as Text;
msg.color = Color.red;
msg.text = "COMPLETE!";

var item : Text = GameObject.Find("Canvas/itemCount").GetComponent("Text") as Text;
item.color = Color.blue;
item.text = "ITEM: " + count; //variable

var time : Text = GameObject.Find("Canvas/time").GetComponent("Text") as Text;
time.text = "TIME: " + Mathf.Floor(Time.time);

のように書けば、テキストの内容や色などを変更できた。Rich Text として使えばタグも使えるみたいだし、そのうち色々実験してみようかな…。

 Unity ももうすぐ5になりそうだし、進化するのは良いけど、仕様がどんどん変わっていくのは、過去のコードが参考にならないのが辛いね。

 AndEngine なんかも使ってみたけど、メインエンジンのコードの仕様などもどんどん変わっているので、1年以内の資料でも参考にならなかった。cocos2d なんかもバージョンごとに NDK や make などのバージョンも合わせないと上手くいかないしね。Android SDK なんかはわりと古いものも使えるんだけどね。できればフレームワークは上位互換で作って欲しいものだね。でないと最新コード以外どんどん使えなくなる。バージョン変わるたびに書き直すのではフレームワークの意味がないしね。


(関連記事)
【Unity】【C#】uGUI ドロップダウンの要素をコードで設定と取得、外観のカスタマイズなど
【Unity】【C#】【JavaScript】GUIText をコードで生成する


スポンサーサイト

category: Unity

thread: ゲーム開発

janre: コンピュータ

tag: C#  JavaScript 
tb: 0   cm: --


トラックバック

トラックバックURL
→http://fantom1x.blog130.fc2.com/tb.php/158-9f060317
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

全記事一覧

カテゴリ

ユーザータグ

最新記事

月別アーカイブ

リンク

PR

▲ Pagetop