【Unity】【C#】【JavaScript】GUIText をコードで生成する 
2015/01/15 Thu [edit]
GUIText って、Ver 4.6.x より前は「GameObject」のメニューから直接「GUIText」が作れたのだが、4.6.x 以降は「空の GameObject にGUIText のコンポーネントを追加」して、自分で作るしかないのね。とりあえず以下の参考資料の方法で作ってプレハブ化しておけば良いのだが、色々な資料をみると意外と GUIText を使ったサンプルが多いので、スクリプトで動的に生成するのもアリと思った。というわけで、またしても適当なコード。
↓メニューから作るには、
(参考) Unity4.6以降のGUITEXTとGUITEXUREについて
↓スクリプトで作るには、
●C#
GameObject guiObj = new GameObject("GUI Text"); //Hierarchy に表示される名前
guiObj.AddComponent("GUIText");
guiObj.guiText.transform.Translate(0.5f, 0.5f, 0);
guiObj.guiText.anchor = TextAnchor.MiddleCenter;
guiObj.guiText.alignment = TextAlignment.Center;
guiObj.guiText.fontSize = 24;
guiObj.guiText.fontStyle = FontStyle.Normal;
guiObj.guiText.text = "Text C#";
●JavaScript
var guiObj : GameObject = new GameObject("GUI Text"); //Hierarchy に表示される名前
guiObj.AddComponent("GUIText");
guiObj.guiText.transform.Translate(0.5f, 0.5f, 0);
guiObj.guiText.anchor = TextAnchor.MiddleCenter;
guiObj.guiText.alignment = TextAlignment.Center;
guiObj.guiText.fontSize = 24;
guiObj.guiText.fontStyle = FontStyle.Normal;
guiObj.guiText.text = "Text J";
書く場所はテキストが固定なら Start() だけで良いが、Update() で内容を変更したいなら、guiObj をグローバルスコープに置けば良い。new GameObject(name) で付ける名前はユニークな方が良いね。
Canvas の UI Text とは座標系が少し違うから、サンプルごとに調整するのは面倒だしね。スクリプトをコードテンプレート(スニペット)に登録しておくと、いつでも呼び出せる利点もある。
(参考) [MonoDevelop]Snippetsを使って記述を楽にする方法
(関連記事)
【Unity】【C#】【JavaScript】4.6.x の Canvas~UI Text のテキストをコードで変更する
【Unity】【C#】uGUI ドロップダウンの要素をコードで設定と取得、外観のカスタマイズなど
- 関連記事
トラックバック
トラックバックURL
→http://fantom1x.blog130.fc2.com/tb.php/160-24719503
この記事にトラックバックする(FC2ブログユーザー)
| h o m e |