unity練習1

文字列の表示

メニューの[windows]→[layouts]→[Tall_sidebyside](自分で制作した画面配置)を選択して,画面を見やすく配置する.

hierarchy画面上で右クリック→UI→Textを選択し,次のような画面へ

画像1

Inspectorの下にあるtextの欄を変更すれば好きな文字列を表現することが出来る.

画像2

Rect Transformにおける,Widthの幅が狭いと,文字列が表示されきらない場合がある.上図では,width=160となっていて,表示させる文字列が途中で途切れている.

画像3

今回の文では,width>=224のときに全文が表示された.全角16文字で224なので224/16=14.これはcharacterのFont Sizeで指定した14の値に一致する.

スクリプトからの表示

hierarchy上で右クリック→[Create Empty]

「GameObject」として生成されるので,名前を「ScoreManager」にする.

hierarchy上でScoreManagerを選択し,Inspectorで[Add Component]→searchで"script"→New Scriptを選択→名前を"ScoreManager"でスクリプトを作成

画像4

スクリプトを作成すると次のような画面になる.

画像5

ScoreManger.csを次のように書き換える.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

using UnityEngine.UI;  // 追加しましょう

public class ScoreManager : MonoBehaviour {


   public GameObject score_object = null; // Textオブジェクト

     // 初期化
     void Start () {
     }

     // 更新
     void Update () {
       // オブジェクトからTextコンポーネントを取得
       Text score_text = score_object.GetComponent<Text> ();
       // テキストの表示を入れ替える
       score_text.text = "000000";
     }
}

unity上に戻り.ScoreManagerのInspector上に"Score_object"が作られていることを確認する.hierarchy上のtextをScore_objectにドラッグする.すると次のような画面になる.

画像6

ここでプログラムを実行すると,次の画面のようにGame上に"000000"が表示される.

このままでは"000000"から変化しないので,プログラムの実行を停止し,スクリプトを次のように修正して数字を変更する.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class ScoreManager : MonoBehaviour {

   public GameObject score_object = null; // Textオブジェクト
   public int score_num = 0; // スコア変数

     // 初期化
     void Start () {
     }

     // 更新
     void Update () {
       // オブジェクトからTextコンポーネントを取得
       Text score_text = score_object.GetComponent<Text> ();
       // テキストの表示を入れ替える
       score_text.text = "Score:" + score_num;

       score_num += 1; // とりあえず1加算し続けてみる
     }
}


スクリプトの変更後,もう一度プログラムを実行すると次の図のように数字が1ずつ増えていく.

画像7

以上で練習1を終了とします.

参考サイト 


この記事が気に入ったらサポートをしてみませんか?