「Unity/UIText」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→TextのScript制御) |
(→TextのScript制御) |
||
行4: | 行4: | ||
*Project Saveだと消えるかも。File/Sence Saveしておかないと。 | *Project Saveだと消えるかも。File/Sence Saveしておかないと。 | ||
− | == | + | ==UIを制御する方法は2つ== |
+ | #Textオブジェクトに直接Scirptを入れこむ方法 | ||
+ | #Textオブジェクトを外部のCanvasSriptから制御する方法 | ||
+ | |||
+ | ==Textに直接Scriptを入れ込み制御== | ||
#UITextを配置 | #UITextを配置 | ||
#UITextを選択してinspectorを開く | #UITextを選択してinspectorを開く | ||
#AddComponentからTextController.csを作成する | #AddComponentからTextController.csを作成する | ||
− | # | + | #そのscriptのStartメソッド内に以下を記述 |
this.GetComponentInChildren<Text>().text = "hoge"; | this.GetComponentInChildren<Text>().text = "hoge"; | ||
#再生すると配置したUITextのNewTextがhogeになる | #再生すると配置したUITextのNewTextがhogeになる |
2017年9月12日 (火) 18:26時点における版
Text配置
- メインメニュー/GameObject/UI/Textを選択すると"New Text"がCanvas上に設置される
- そのまま再生
- Project Saveだと消えるかも。File/Sence Saveしておかないと。
UIを制御する方法は2つ
- Textオブジェクトに直接Scirptを入れこむ方法
- Textオブジェクトを外部のCanvasSriptから制御する方法
Textに直接Scriptを入れ込み制御
- UITextを配置
- UITextを選択してinspectorを開く
- AddComponentからTextController.csを作成する
- そのscriptのStartメソッド内に以下を記述
this.GetComponentInChildren<Text>().text = "hoge";
- 再生すると配置したUITextのNewTextがhogeになる
TextプロパティのScript制御
- UITextを配置
- UITextを選択してinspectorを開く
- Canvas側のscriptに記述
public Text myText; this.GetComponentInChildren<Text>().text = "hoge";
- Canvasのinspectorを開きCanvas下のTextを選択して、CanvasのinspectorのmyTextへドラッグ
- 再生すると配置したUITextのNewTextがhogeになる
参考:http://hiyotama.hatenablog.com/entry/2015/04/27/060000
カスタムTextのScript制御
- UITextを配置
- UITextを選択してinspectorを開く
- 一番上のTextというところをMessageTextなどと変えてエンターキーを押す(エンターを押さないと変更できない)
- AddComponentでNewScriptを選択して"MessageText"と入れてMessageText.csファイルを作る
- AddComponentにMessageTextが登録されていることを確認(登録されていなければ、MessageText.csを追加する
- MessageText.csに以下の通りに
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class MessageText : MonoBehaviour { public string text = ""; // Use this for initialization void Start () { } // Update is called once per frame void Update () { this.GetComponent<Text>().text = text; } }
- Canvas側のscriptに記述
public MessageText messageText; // 呼び出しのButtonイベント内に以下などを追加 messageText.GetComponent<MessageText>().text = "Click!";