[過去ログ] 【ゲームエンジン】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