表題の通りです。
unityでプレファブ化されているGameobuectを読み込んだ際
instantiate(インスタンス化)せずに、GetComponentをしているソースコードがあります。
コード例
using UnityEngine;
using UnityEngine.UI;
using System.Collections.Generic;
public class SampleManager : MonoBehaviour
{
//prefabは親をButton型オブジェクト"button"
//子をText型のオブジェクト"text"という名称にしています。
[SerializeField] private GameObject prefab = null; private Text _text = null; void Start() { _text = prefab.transform.FindChild("text").GetComponent<Text>(); }
}
上記コードでは、prefabを読み込んだ際にinstantiateせずに
prefab.transform.FindChild("text").GetComponent<Text>() というメソッドを実行しています。
プレファブはクラスのようなものだから、instantiateしなければ
インスタンスが生成できない との事でしたので
先にinstantiateをしなければ、メソッドが使えないと思っていたのですが
どうやらそうではないみたいです。
上記コードを実行できる理由が上手く説明できないので、困っております。
instantiateせずに、プレファブのメソッドが実行できる理由を教えてください
よろしくお願いいたします
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。