unity練習1
文字列の表示
メニューの[windows]→[layouts]→[Tall_sidebyside](自分で制作した画面配置)を選択して,画面を見やすく配置する.
hierarchy画面上で右クリック→UI→Textを選択し,次のような画面へ
Inspectorの下にあるtextの欄を変更すれば好きな文字列を表現することが出来る.
Rect Transformにおける,Widthの幅が狭いと,文字列が表示されきらない場合がある.上図では,width=160となっていて,表示させる文字列が途中で途切れている.
今回の文では,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"でスクリプトを作成
スクリプトを作成すると次のような画面になる.
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にドラッグする.すると次のような画面になる.
ここでプログラムを実行すると,次の画面のように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ずつ増えていく.
以上で練習1を終了とします.
参考サイト
この記事が気に入ったらサポートをしてみませんか?