Unity入門:GuiTextを使う、Scriptで文字を変更する

GuiTextの使い方です。

 

ゲームで文字を表示したい場合例えば現在のスコアや、

残機数などを表示したい場合にとても重宝します。

 

さっそく解説に入ります。

1:GuiTextを用意する。

GameObject->CreateOther->GuiTextから作成します。

 

すると中心に(Game画面に)Textが表示されたはずです。

 

2:位置を調節する。

2014-05-25_112634

上の画像のようにGuiTextのpositionを調節して位置を調節します。

注意する点はGui系のpositionは

画面左下が(0,0)右上が(1,1)となる点です。

 

そのためx,yにマイナス、あるいは1以上を入れた場合は

画面から出てしまい表示されないので注意が必要です。

 

以上のことを考慮しながらTextの表示位置を調節します。

Game画面で位置を確認しながらずらすのがいいと思います。

 

FontSizeが初期の場合0になっていると思うので、

自分の好きな大きさに変更します。

 

以上で表示位置、表示設定の変更は完了です。

 

3:Scliptで表示文字を変更する。

コード例を記載します。

public GameObject Score;

private GUIText scoretext;

void Start(){

scoretext = Score.GetComponent<GUIText> ();

scoretext.text=”変更したいText”;

}

上のコードでtextをscliptで変更することができます。

上の場合呼び出されたと同時に表示するtextを変更します。

 

public で宣言されているscoreには上で作成したGUItextの

をEditor上でドラッグアンドドロップで登録します。

 

GetComponent<GUIText> ()はアタッチされているComponentを

取得するコードです。<>内に取得したいComponent名を記述します。

 

一応例を出しておきます。

たとえばゲームオブジェクトTestにアタッチされているコンポーネントTextCOM

をsclipt上で取得したいとします。

 

その場合は以下のコードで取得することができます。

 

private TestCOM testcom;

public GameObject Test;

void Start(){

testcom = Test.GetComponent<TestCOM> ();

}

 

簡単ですね。

 

次に取得したGUITextのComponentを使いTextを変更しています。

 

scoretext.textにtextを代入することで、

画面に表示されるtextを変更することができます。

 

再生を押して表示されているTextが変更されれば成功です。

またScoreが変更されたときにTextが変更されるようにするには、

変更と同時に.textで変更を代入してあげればいいです。

 

このように簡単にできるのでどんどん活用していきたいですね。

 

ただしUnityの標準GUI系は処理が重いので、

もしNGUIが使える方はNGUIを使ったほうがいいです。

 

NGUIについては後日書きたいと思います。

 

以上GUITextの使い方でした。

“Unity入門:GuiTextを使う、Scriptで文字を変更する” への1件の返信

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です