質問編集履歴
1
タイトルの変更,本文の追記修正,コードの追加
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
ボタンを押したタイミングを
|
1
|
+
ボタンを押したタイミングを記録した配列が、Jsonファイルへ出力されない
|
body
CHANGED
@@ -1,12 +1,15 @@
|
|
1
|
-
|
2
|
-
以下のコードではOnClick()でtapのタグが付いたボタンを押すたびに配列内へそのタイミングを記録し、配列の大きさを1つ
|
1
|
+
Jsonに配列を出力する方法について質問です。
|
2
|
+
以下のコードではOnClick()でtapのタグが付いたボタンを押すたびに配列内へそのタイミングを記録し、配列の大きさを1つ増やすリサイズの処理をしています。そしてFinishのタグが付いたボタンを押すとタイミングが"soundscore"に配列形式で記録されたJsonファイルが出力される仕組みです。これを譜面データとして利用したいのですが、試しに31回tapボタンを押してから出力したところ以下の結果になりました。
|
3
3
|
```Json
|
4
4
|
{"soundscore":[0.0,0.0]}
|
5
5
|
```
|
6
|
-
|
6
|
+
何度か修正を繰り返したところ、Makerクラス内で宣言した配列soundscore[2]が値が入っていない状態そのままで書き出しに使用され、mk.soundscore[i]そのものを参照できていないのではないかという考えにたどり着きました。そこで、i回分クリックしたタイミングのデータを格納したmk.soundscore[i]のデータをどのような処理を使えばJsonファイルへ書き出せるか知りたいです。
|
7
7
|
|
8
8
|
目指していること
|
9
|
-
Jsonファイルを出力した時、ボタンを押したタイミングが回数分きちんと
|
9
|
+
Jsonファイルを出力した時、ボタンを押したタイミングが回数分きちんとファイル内に反映される(以下の状態が理想の出力で、mk.soundscore[0]などにそれぞれ格納されているfloat型の数値が入ります)
|
10
|
+
```Json
|
11
|
+
{"soundscore":[mk.soundscore[0],mk.soundscore[1]・・・mk.soundscore[i]]}
|
12
|
+
```
|
10
13
|
|
11
14
|
```C#
|
12
15
|
using UnityEngine;
|
@@ -63,6 +66,7 @@
|
|
63
66
|
//Jsonファイルで出力
|
64
67
|
string json = JsonUtility.ToJson(mk);
|
65
68
|
File.WriteAllText("Assets\testj", json);
|
69
|
+
//読み込みの確認用 start()内で指定した数値しか返らない
|
66
70
|
int u;
|
67
71
|
for (u = 0; u < i; u++)
|
68
72
|
{
|
@@ -77,8 +81,4 @@
|
|
77
81
|
ー>こちらのサイト様にあるソースコードの一部分たちを試行錯誤して組み込んだものが上のコードになります。
|
78
82
|
|
79
83
|
使用環境
|
80
|
-
Unity2019,1,5f1 C#のみ使用しています
|
84
|
+
Unity2019,1,5f1 C#のみ使用しています
|
81
|
-
|
82
|
-
その他
|
83
|
-
ボタンを押したときにはコンソールにタイミングがきちんと出力されています。
|
84
|
-
上の方で配列の大きさを指定していますが、こうしないと「配列の中身空っぽやで」とエラーが出てしまうためです。
|