Unity 7ウニ目
■ このスレッドは過去ログ倉庫に格納されています
0658名前は開発中のものです。
2012/02/16(木) 17:25:02.82ID:XEW+dTa2下のような記述でScript内でもセットすることができると思います
(この場合はHierarchy上にPrefabがない状態を想定)
public GameObject Button_UP;
void Start () {
Button_UP=(GameObject)Instantiate(Resources.Load("Button_UP"));
Instantiate(Button_UP,transform.position,transform.rotation);
}
今、「Quad UI」のScriptを参考に見ているんですが、
「public GameObject Button_UP;」の代わりに「public Button2D Button_UP;」という変数がありました
「Button2D」は「Quad UI」で用意されたScript(クラス?)を示していて、この場合はGUI上のプロパティでは、「Button2D」のScript(コンポーネント?)を持ったGameObjectだけをセットできると理解しています
このようなScript(コンポーネント?)を持ったGameObjectだけをセットできるケースでも、GUI上ではなくScript上でセットしたいのですが、下記の記述で、問題なく起動できる場合と後述のエラーが出る場合があります
@一般的に以下の記述でScript(コンポーネント?)を持ったGameObjectのセットはできているものか、A下記のエラーをご存じの方はいないか
分かる方がいたら教えて下さい
記述
void Start () {
Button_UP=(Button2D)Instantiate(Resources.Load("Button_UP"));
Instantiate(Button_UP,transform.position,transform.rotation);
}
エラー
ArgumentException: The thing you want to instantiate is null.
UnityEngine.Object.CheckNullArgument (System.Object arg, System.String message)
※エラーが出るケースはStart()ではなく、参考にしてる人がawakeの代わりに用意したというInit()というメソッドで書いています
Init()を使うのであれば、大人しくGUI上でセットすればいいのですが、エラーの原因をできれば把握したいです
■ このスレッドは過去ログ倉庫に格納されています