前提・実現したいこと
Unityで音ゲーの作成をしたいと考えています。
以下のサイトを参考にさせて頂き、作成しています。
参考サイト:【Unity】音ゲーの仕組みを学び「〇〇の達人」をUnityで作る
この太鼓の達人を3D空間にして作成しており、(参考サイトでは2D)
基本的な構造を理解するうえでほぼ同様なソースコードを記入していきました。
そのうえで発生したエラーなのですがご教授願いたいです。
発生している問題・エラーメッセージ
NullReferenceException: Object reference not set to an instance of an object GameManager.<OnEnable>b__15_3 (UniRx.Unit _) (at Assets/Scripts/GameManager.cs:54)
該当のソースコード
C#
1using System; 2using System.Collections; 3using System.Collections.Generic; 4using UnityEngine; 5using UnityEngine.UI; 6using UniRx; 7using UniRx.Triggers; 8 9public class GameManager : MonoBehaviour 10{ 11 [SerializeField] string FilePath; 12 13 [SerializeField] Button Play; 14 [SerializeField] Button SetChart; 15 16 [SerializeField] GameObject Blue; 17 [SerializeField] GameObject Red; 18 19 [SerializeField] Transform SpawnPoint; 20 [SerializeField] Transform BeatPoint; 21 22 float PlayTime; //ゲーム開始時間 23 float Distance; //判定位置までの距離 24 float During; //初期位置から判定までの時間 25 bool isPlaying; //ゲーム中か 26 int GoIndex; //Notesの発射対象のノーツのインデックス 27 28 string Title; 29 int BPM; 30 List<GameObject> Notes; 31 32 void OnEnable() 33 { 34 //ノーツから初期位置までにかける時間を2000msとする 35 Distance = Math.Abs(BeatPoint.position.x - SpawnPoint.position.x); 36 During = 2 * 1000; 37 isPlaying = false; 38 GoIndex = 0; 39 40 //調整用 41 Debug.Log(Distance); 42 43 44 Play.onClick 45 .AsObservable() 46 .Subscribe(_ => play()); 47 48 SetChart.onClick 49 .AsObservable() 50 .Subscribe(_ => loadChart()); 51 52 this.UpdateAsObservable() 53 .Where(_ => isPlaying) 54 .Where(_ => Notes.Count > GoIndex) //エラーを吐いている54行目 55 .Where(_ => Notes[GoIndex].GetComponent<NoteController>().getTiming() <= ((Time.time * 1000 - PlayTime) + During)) 56 .Subscribe(_ => { 57 Notes[GoIndex].GetComponent<NoteController>().go(Distance, During); 58 GoIndex++; 59 }); 60 61 } 62 63//以下続く
試したこと
Play.onClick .AsObservable() .Subscribe(_ => play()); SetChart.onClick .AsObservable() .Subscribe(_ => loadChart());
このplayの中にあるDebugは通ったのでエラーはthis.UpdateAsObservable内にあると考えた。(よく考えたらエラーが54行目って書いてた・・・)
jsonファイルを読み込むPathが違うと考えた為間違えていないかチェックした
###開発環境
Unity 2019.1.12f1
OS:Windows10
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/26 15:50