StartCoroutine に入った際に、「NullReferenceException」というエラーが出てしまいます | Unity Forum | Tech Stadium Forum

StartCoroutine に入った...
 
通知
すべてクリア

StartCoroutine に入った際に、「NullReferenceException」というエラーが出てしまいます  

  RSS

Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
04/09/2020 12:52 pm  

StartCoroutine に入った際に、「NullReferenceException」というエラーが出てしまいます。
講義で習ったように、APIでデータをGETしてくる際に、UnityWebRequest.SendWebRequest() が返ってくるまでの時間を稼ぎたいです。
「NullReferenceException」のエラーが出る理由は何か心当たりないでしょうか…?


引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
04/09/2020 12:52 pm  

コードとエラー画面をスクショしました。


返信引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
04/09/2020 12:53 pm  

プロジェクトを見たところ、どうやらnew で直接生成したGameManagerオブジェクトでStartCoroutineを呼んでいたのが原因のようです。

Update()メソッド以外のメソッドからコルーチン処理を実行する場合、そのコルーチン処理を呼び出すためのオブジェクトをnew で直接生成してはなりません。覚えておきましょう。

解決策としては、Singleton Patternを利用する方法(参考:TechStadium_ItemListT06_day09_ItemList)や、AddComponentを使った実装(参考: https://qiita.com/norikiyo777/items/0bedfdc239f85032ac86  )が考えられます。
Managerオブジェクトで使うなら、Singleton Patternがオススメです。


返信引用
共有:
タイトルとURLをコピーしました