Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

GameObjectを探したり中身のテキストを値をとったり

まえの方法ではInspectorからゲームオブジェクトを張り付ける方法をやってました。
が、これだと生成されたオブジェクト等を対象する場合に使えません。
こういう場合、GameObjectクラスのFindメソッドをつかってシーン中にあるGameObjectを探して割り当てる事ができます。

実際のところ

GameObject型のsomethingという変数を用意、そこに"yourTarget"という名前のオブジェクトを探し、
そのテキストをデバッグに表示するには以下のように

GameObject something  = GameObject.Find("yourTarget");

値をデバッグ画面にだす。

スペースが押下された際、オブジェクトにある「"Text_Target"」にあるテキストをデバッグに出すには以下のように。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; // <--忘れがち


public class OwnData : MonoBehaviour
{
    private Text ownstring;

    void Update()
    {
        if (Input.GetKey(KeyCode.Space)) {
            this.ownstring = GameObject.Find ("Text_Target").GetComponent<Text>();
            Debug.Log ("target1 = " + this.ownstring.text);
        }
    }
}