質問: prefab.GetComponent ();//monsterはcloneにアタッチしたスクリプトクラス } } ### 補足 prefab元のInspector SetActive true Prefab select Rect Transform PosX 214 Y0 Z 0 Wight 200 Height 350 Pivot X0.5 Y0.5 Rotation X0 Y0 Z0 Scale X1 Y1 Z1 --Component-- Image Source Image txt Color White Material None Recast Target true Image Type Simple Preserve Aspect false monster(Script) 実行して生成したprefabのInspecterもRect以外は全く一緒です。 prefab元の画像はきちんと表示されています これらの情報だけでは判断できないようでしたら、適宜補足いたします。 よろしくお願いします。
回答: Instantiateをした直後、オブジェクトはルート直下(親オブジェクト無し)の状態になります。 Imageコンポーネントは、Canvasコンポーネントの付いたオブジェクトの子にならないといけない為、 Instantiate後に親子関係を定義しないといけません。 ``` public Transform canvasObjTransform; //Canvasコンポーネントの付いたオブジェクトをアタッチしておく void Start(){ GameObject prefab = Instantiate (clone, new Vector3 (0, 0,0), Quaternion.identity); monster mon = prefab.GetComponent ();//monsterはcloneにアタッチしたスクリプトクラス prefab.transform.setParent(canvasObjTransform); //親子関係セット prefab.transform.localScale = Vector3.one; //親子関係セット直後はサイズがおかしくなるので、ローカルサイズを1にセット } ```