質問編集履歴

1

本文内に間違った記述があったため修正、コードを追記

2020/11/20 07:43

投稿

tuna-uniko
tuna-uniko

スコア10

test CHANGED
File without changes
test CHANGED
@@ -1,70 +1,74 @@
1
1
  音楽ゲーム制作の方で前々から実装できなくて困っていることがあります。
2
2
 
3
- 曲開始から1.3秒のタイミングで4つ同時押しのような、複数のボタンを同時に押す横並びのノーツ群を生成する時、現在使用しているスクリプトではforの中身で変数が+1されるまでのわずかな差によって、読み込み用のjsonファイル内では全く同じ数値なのに階段のようにずれてしまいます。
3
+ 曲開始から1.3秒のタイミングで4つ同時押しのような、複数のボタンを同時に押す横並びのノーツ群を生成する時、現在使用しているスクリプトでは~~for~~**Update()**の中身で変数が+1されるまでのわずかな差によって、読み込み用のjsonファイル内では全く同じ数値なのに階段のようにずれてしまいます。
4
4
 
5
5
  ###使用コード
6
6
 
7
7
  ```C#
8
8
 
9
+ void Update(){
10
+
9
- time =trackon.GetComponent<AudioSource>().time; //曲開始からの時間
11
+ time =trackon.GetComponent<AudioSource>().time; //曲開始からの時間
10
12
 
11
13
 
12
14
 
13
- if (time >= eei[f]) //タイミングデータをもつ配列の要素と比較
15
+ if (time >= eei[f]) //タイミングデータをもつ配列の要素と比較
16
+
17
+ {
18
+
19
+ //numを参照
20
+
21
+ GameObject nt;
22
+
23
+ switch (rea[f]) //レーン情報をもつ配列の要素を確認
14
24
 
15
25
  {
16
26
 
17
- //numを参照
27
+ case 0:
18
28
 
19
- GameObject nt;
29
+ basyo = -2f;
20
30
 
21
- switch (rea[f]) //レーン情報をもつ配列の要素を確認
31
+ break;
22
32
 
23
- {
33
+ case 1:
24
34
 
25
- case 0:
35
+ basyo = -0.25f;
26
36
 
27
- basyo = -2f;
37
+ break;
28
38
 
29
- break;
39
+ case 2:
30
40
 
31
- case 1:
41
+ basyo = 1.5f;
32
42
 
33
- basyo = -0.25f;
43
+ break;
34
44
 
35
- break;
45
+ case 3:
36
46
 
37
- case 2:
47
+ basyo = 3.23f;
38
48
 
39
- basyo = 1.5f;
49
+ break;
40
50
 
41
- break;
51
+ case 4:
42
52
 
43
- case 3:
53
+ basyo = 4.98f;
44
54
 
45
- basyo = 3.23f;
55
+ break;
46
56
 
47
- break;
57
+ default:
48
58
 
49
- case 4:
59
+ basyo = 3.6f;
50
60
 
51
- basyo = 4.98f;
61
+ break; //ノーツ生成位置をレーン情報に合わせて設定
52
62
 
53
- break;
63
+ }
54
64
 
55
- default:
65
+ nt = Instantiate(mi,new Vector3(basyo, 5.7f, -0.2f),Quaternion.identity) as GameObject;
56
66
 
57
- basyo = 3.6f;
67
+ noteGo.Add(nt); //リスト化
58
68
 
59
- break; //ノーツ生成位置をレーン情報に合わせて設定
69
+ f += 1; //次のノーツ
60
70
 
61
- }
71
+ }
62
-
63
- nt = Instantiate(mi,new Vector3(basyo, 5.7f, -0.2f),Quaternion.identity) as GameObject;
64
-
65
- noteGo.Add(nt); //リスト化
66
-
67
- f += 1; //次のノーツへ
68
72
 
69
73
  }
70
74
 
@@ -83,3 +87,9 @@
83
87
  使用環境
84
88
 
85
89
  Unity2019.1.5f1 VisualStudio
90
+
91
+ 追記
92
+
93
+ ソース内の処理に関しての説明にて間違いの記述をしていたため、そちらを修正しました
94
+
95
+ (✕ for ◯ Update())                   2020.11.20