「Unity/UIText」の版間の差分

提供: 初心者エンジニアの簡易メモ
ナビゲーションに移動 検索に移動
編集の要約なし
8行目: 8行目:
#Textオブジェクトを外部のCanvasScriptから制御する方法
#Textオブジェクトを外部のCanvasScriptから制御する方法


==Textに直接Scriptを入れ込み制御==
==1つ目:Textに直接Scriptを入れ込み制御==
#UITextを配置
#UITextを配置
#UITextを選択してinspectorを開く
#UITextを選択してinspectorを開く
#AddComponentからTextController.csを作成する
#AddComponentからTextScript.csを作成する
#そのscriptのStartメソッド内に以下を記述
#そのscriptのStartメソッド内に以下を記述
  this.GetComponentInChildren<Text>().text = "hoge";
  this.GetComponentInChildren<Text>().text = "hoge";
#再生すると配置したUITextのNewTextがhogeになる
#再生すると配置したUITextのNewTextがhogeになる


==TextプロパティのScript制御==
==2つ目:Textを外部のCanvasScriptから制御==
#UITextを配置
#UITextを配置
#UITextを選択してinspectorを開く
#Canvasを選択してinspectorを開く
#AddComponentからCanvasScript.csを作成する
#Canvas側のscriptに記述
#Canvas側のscriptに記述
  public Text myText;
  using System.Collections;
this.GetComponentInChildren<Text>().text = "hoge";
using System.Collections.Generic;
#Canvasのinspectorを開きCanvas下のTextを選択して、CanvasのinspectorのmyTextへドラッグ
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配置

  1. メインメニュー/GameObject/UI/Textを選択すると"New Text"がCanvas上に設置される
  2. そのまま再生
  • Project Saveだと消えるかも。File/Sence Saveしておかないと。

UIを制御する方法は2つ

  1. Textオブジェクトに直接Scirptを入れこむ方法
  2. Textオブジェクトを外部のCanvasScriptから制御する方法

1つ目:Textに直接Scriptを入れ込み制御

  1. UITextを配置
  2. UITextを選択してinspectorを開く
  3. AddComponentからTextScript.csを作成する
  4. そのscriptのStartメソッド内に以下を記述
this.GetComponentInChildren<Text>().text = "hoge";
  1. 再生すると配置したUITextのNewTextがhogeになる

2つ目:Textを外部のCanvasScriptから制御

  1. UITextを配置
  2. Canvasを選択してinspectorを開く
  3. AddComponentからCanvasScript.csを作成する
  4. 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 () { }

}
  1. Canvasのinspectorを開きCanvas下のTextを"CanvasのinspectorのmyText"へドラッグ
  2. 再生すると配置したUITextのNewTextがhogeになる

参考:http://hiyotama.hatenablog.com/entry/2015/04/27/060000

カスタムTextのScript制御

  1. UITextを配置
  2. UITextを選択してinspectorを開く
  3. 一番上のTextというところをMessageTextなどと変えてエンターキーを押す(エンターを押さないと変更できない)
  4. AddComponentでNewScriptを選択して"MessageText"と入れてMessageText.csファイルを作る
  5. AddComponentにMessageTextが登録されていることを確認(登録されていなければ、MessageText.csを追加する
  6. 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;
	}
}
  1. Canvas側のscriptに記述
public MessageText messageText;
// 呼び出しのButtonイベント内に以下などを追加
messageText.GetComponent<MessageText>().text = "Click!";