質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

2回答

2226閲覧

Unityのインスタンスに設定されてないオブジェクト参照

sasuke-0723

総合スコア6

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

1グッド

0クリップ

投稿2020/03/14 08:25

Unityで音ゲーの制作をしているのですが、エラーメッセージにオブジェクトのインスタンスに設定されていない
オブジェクト参照と出てきました。
StringReader reader = new StringReader(csv.text);
オブジェクトのインスタンスに設定されていないオブジェクト参照の意味が分かりません。
どういう意味なのか?、なぜこのようなエラーをはいたのかも教えてくれると助かります。

s.k👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

解決しました。ありがとうございます。
filePassのcsvがちゃんと読み込めてなかったみたいです。
再度csvを読み込んだら治りました。

投稿2020/03/15 03:58

sasuke-0723

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

NullReferenceException の日本語訳みたいです
その行でエラーが出ているのなら、csv == null だと思われます

投稿2020/03/14 08:56

izmktr

総合スコア2856

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sasuke-0723

2020/03/14 10:14

ブレークポイントでUnityにアタッチしてみたらcsvがnullだったことを確認できました ですが、なぜnullなのかがよく見てもわかりません。教えてください 下記がそのソースコードです。 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using System; using System.IO; public class GameController : MonoBehaviour { public GameObject[] notes; private float[] _timing; private int[] _lineNum; public string filePass; private int _notesCount = 0; private float _startTime = 0; public float timeOffset = -1; private bool _isPlaying = false; public GameObject startButton; private AudioSource _audioSource; public Text scoreText; private int _score = 0; void Start() { _audioSource = GameObject.Find("GameMusic").GetComponent<AudioSource>(); _timing = new float[1024]; _lineNum = new int[1024]; LoadCSV(); } void Update() { if (_isPlaying) { CheckNextNotes(); scoreText.text = _score.ToString(); } } public void StartGame() { startButton.SetActive(false); _startTime = Time.time; _audioSource.Play(); _isPlaying = true; } void CheckNextNotes() { while (_timing[_notesCount] + timeOffset < GetMusicTime() && _timing[_notesCount] != 0) { SpawnNotes(_lineNum[_notesCount]); _notesCount++; } } void SpawnNotes(int num) { Instantiate(notes[num],new Vector3(-4.0f + (2.0f * num), 10.0f, 0),Quaternion.identity); } private void LoadCSV() { TextAsset csv = Resources.Load(filePass) as TextAsset; //Debug.Log(csv.text); StringReader reader = new StringReader(csv.text); int i = 0; while (reader.Peek() > -1) { string line = reader.ReadLine(); string[] values = line.Split(','); for (int j = 0; j < values.Length; j++) { _timing[i] = float.Parse(values[0]); _lineNum[i] = int.Parse(values[1]); } i++; } } float GetMusicTime() { return Time.time - _startTime; } public void GoodTimingFunc(int num) { Debug.Log("Line:" + num + " good!"); Debug.Log(GetMusicTime()); _score++; } }
sasuke-0723

2020/03/15 03:57

解決しました。ありがとうございます。 filePassのcsvがちゃんと読み込めてなかったみたいです。 再度csvを読み込んだら治りました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問