[過去ログ] 【ゲームエンジン】Unity初心者質問スレBuild4 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
151(2): 2020/04/16(木)06:07 ID:f9bKhCih(1/5) AAS
staticのシングルトンで作ったDataクラスに GameObject型のenemy1を宣言し、
別のスクリプトからプレハブをロードしてインスタンスしたところ、シーン上ではプレハブが表示されたもののなぜかnullエラーが出てしまいます。
同じプレハブをstaticでない通常の変数で宣言してインスタンスするとエラーは出ないのですが何が原因でしょうか?
//========■シングルトンのDataクラス↓
public class Data : MonoBehaviour
{
public static Data btdata = null;
private void Awake()
{
if (btdata == null)
{
btdata = this;
DontDestroyOnLoad(this.gameObject);
}
else
{
Destroy(this.gameObject);
}
}
public GameObject enemy1 = null;
//========■別のスクリプト↓
GameObject obj = (GameObject)Resources.Load("Enemy_Chinpira");
Data.btdata.enemy1 = (GameObject)Instantiate(obj,new Vector3(0.0f, 0.0f, 0.0f),Quaternion.identity); ←NULLエラーは出る
GameObject hoge = (GameObject)Instantiate(obj, new Vector3(0.0f, 0.0f, 0.0f), Quaternion.identity); ←こっちだとエラーは起きなかった
152(2): くまじょ 2020/04/16(木)07:28 ID:RAGlvlvv(1) AAS
>>151
シングルトンが不完全
どこよりも先にこいつのawakeが実行されるわけではないのでは?
153: くまじょ 2020/04/16(木)07:38 ID:/YRdqyfH(1/3) AAS
>>151
別のスクリプトのawakeで実行してるとか
※個人の感想
個人的には複数シーンを使うときこのやり方は俺の好みではない
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.064s