「Unity/UIText」の版間の差分
ナビゲーションに移動
検索に移動
編集の要約なし |
|||
| 8行目: | 8行目: | ||
#Textオブジェクトを外部のCanvasScriptから制御する方法 | #Textオブジェクトを外部のCanvasScriptから制御する方法 | ||
== | ==1つ目:Textに直接Scriptを入れ込み制御== | ||
#UITextを配置 | #UITextを配置 | ||
#UITextを選択してinspectorを開く | #UITextを選択してinspectorを開く | ||
# | #AddComponentからTextScript.csを作成する | ||
#そのscriptのStartメソッド内に以下を記述 | #そのscriptのStartメソッド内に以下を記述 | ||
this.GetComponentInChildren<Text>().text = "hoge"; | this.GetComponentInChildren<Text>().text = "hoge"; | ||
#再生すると配置したUITextのNewTextがhogeになる | #再生すると配置したUITextのNewTextがhogeになる | ||
== | ==2つ目:Textを外部のCanvasScriptから制御== | ||
#UITextを配置 | #UITextを配置 | ||
# | #Canvasを選択してinspectorを開く | ||
#AddComponentからCanvasScript.csを作成する | |||
#Canvas側のscriptに記述 | #Canvas側のscriptに記述 | ||
public Text myText; | using System.Collections; | ||
using System.Collections.Generic; | |||
# | using UnityEngine; | ||
using UnityEngine.UI; | |||
public class CanvasScript : MonoBehaviour { | |||
public Text myText; | |||
void Start () { | |||
myText.text = "hoge"; | |||
} | |||
void Update () { | |||
} | |||
} | |||
#Canvasのinspectorを開きCanvas下のTextを"CanvasのinspectorのmyText"へドラッグ | |||
#再生すると配置したUITextのNewTextがhogeになる | #再生すると配置したUITextのNewTextがhogeになる | ||
2017年9月12日 (火) 09:31時点における版
Text配置
- メインメニュー/GameObject/UI/Textを選択すると"New Text"がCanvas上に設置される
- そのまま再生
- Project Saveだと消えるかも。File/Sence Saveしておかないと。
UIを制御する方法は2つ
- Textオブジェクトに直接Scirptを入れこむ方法
- Textオブジェクトを外部のCanvasScriptから制御する方法
1つ目:Textに直接Scriptを入れ込み制御
- UITextを配置
- UITextを選択してinspectorを開く
- AddComponentからTextScript.csを作成する
- そのscriptのStartメソッド内に以下を記述
this.GetComponentInChildren<Text>().text = "hoge";
- 再生すると配置したUITextのNewTextがhogeになる
2つ目:Textを外部のCanvasScriptから制御
- UITextを配置
- Canvasを選択してinspectorを開く
- AddComponentからCanvasScript.csを作成する
- Canvas側のscriptに記述
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class CanvasScript : MonoBehaviour {
public Text myText; void Start () { myText.text = "hoge"; } void Update () { }
}
- 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!";