質問編集履歴
3
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,11 +8,11 @@
|
|
8
8
|
|
9
9
|
|
10
10
|
### これを使用したいプロジェクトについて
|
11
|
-
現実時間と連動したゲームを作成したいと考えているので、『経過時間(ms)をiとおき、要素数100の配列のBox[]があるとした場合』
|
12
|
-
今のiの値が40の場合は配列Box[40]を指定し、1ステップ後(1回Updateした後)のiが60だとしたら、Box[41]ではなくBox[60]を指定したいです
|
13
|
-
現在作成しているプロジェクトがこのような仕様になっており、ほぼ同じ周期でUpdateされることを前提としているため、4ステップ目の更新のみ340msかかってしまうとコーディングが難しいです
|
14
|
-
加えて、void Strt()とvoid Updateの両方でBox[i]を使うため、「初めてUpdateしたときに1秒待ってから処理を始める」は解決策としてはちょっと違うかもしれません、、、
|
15
11
|
|
12
|
+
現実時間と連動したゲームを制作しており、「ゲーム開始からの経過時間(ms)をiとした場合」に、ある経過時間になったとき特定の動作をするようなものです(例:開始から100msたったら(i = 100)90度回転、230ms(i = 230)たったら10移動)
|
13
|
+
1回Updateをするのに20msかかるため、例えばi = 20でUpdateをすると次のiは40となります。この際、例えば30msのときに特定の動作をするようになっていると、21~39はiに入らないため(i = 20 → i = 40)この命令を飛ばしてしまいます。
|
14
|
+
そのため、動作をさせるかどうかの判断を「if i == 30」ではなく「if i == 30 || abs(i - 30 ) <= 10」としています。こうすることで、iが40であっても30で実行するはずだった命令を行えるようにしています。しかし、このコーディングは、updateの間隔が一定であるという前提で組んでいるため4ステップ目の更新のみ340msかかってしまうと、行いたい挙動をプログラムが行ってくれなくなってしまいます
|
15
|
+
加えて、上記のような処理は、void Start、void Updateのどちらにも用いたいため、「1回目のUpdateで1秒待ってから経過時間を測る」ような処理は、うまくいかない可能性があります、、、
|
16
16
|
|
17
17
|
### 発生している問題・エラーメッセージ
|
18
18
|
|
2
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,11 +4,16 @@
|
|
4
4
|
つまり1ステップごとに『20 → 40 → 60 → 80 → 100 → 120...』と増加していくはずなのですが、4ステップ目の更新のみ340msかかってしまいます
|
5
5
|
『20 → 40 → 60 → 400 → 420 → 440...』といった具合にです
|
6
6
|
4ステップ目だけ複雑な命令を出しているわけでもないのに、340msもかかってしまう理由がわかりません。
|
7
|
-
また、現実時間と連動したゲームを作成したいと考えているので、『経過時間(ms)をiとおき、要素数100の配列のBox[]があるとした場合』
|
8
|
-
今のiの値が40の場合は配列Box[40]を指定し、1ステップ後(1回Updateした後)のiが60だとしたら、Box[41]ではなくBox[60]を指定したいです
|
9
|
-
現在作成しているプロジェクトが、上記の仕様になっており、同じ周期でUpdateされることを前提としているため、4ステップ目の更新のみ340msかかってしまい、コーディングが難しいです
|
10
7
|
これが起こる原因並びにその解決策、または1ステップごとに同じ経過時間を計測できる方法を探しています
|
11
8
|
|
9
|
+
|
10
|
+
### これを使用したいプロジェクトについて
|
11
|
+
現実時間と連動したゲームを作成したいと考えているので、『経過時間(ms)をiとおき、要素数100の配列のBox[]があるとした場合』
|
12
|
+
今のiの値が40の場合は配列Box[40]を指定し、1ステップ後(1回Updateした後)のiが60だとしたら、Box[41]ではなくBox[60]を指定したいです
|
13
|
+
現在作成しているプロジェクトがこのような仕様になっており、ほぼ同じ周期でUpdateされることを前提としているため、4ステップ目の更新のみ340msかかってしまうとコーディングが難しいです
|
14
|
+
加えて、void Strt()とvoid Updateの両方でBox[i]を使うため、「初めてUpdateしたときに1秒待ってから処理を始める」は解決策としてはちょっと違うかもしれません、、、
|
15
|
+
|
16
|
+
|
12
17
|
### 発生している問題・エラーメッセージ
|
13
18
|
|
14
19
|
|
1
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,7 +4,9 @@
|
|
4
4
|
つまり1ステップごとに『20 → 40 → 60 → 80 → 100 → 120...』と増加していくはずなのですが、4ステップ目の更新のみ340msかかってしまいます
|
5
5
|
『20 → 40 → 60 → 400 → 420 → 440...』といった具合にです
|
6
6
|
4ステップ目だけ複雑な命令を出しているわけでもないのに、340msもかかってしまう理由がわかりません。
|
7
|
-
|
7
|
+
また、現実時間と連動したゲームを作成したいと考えているので、『経過時間(ms)をiとおき、要素数100の配列のBox[]があるとした場合』
|
8
|
+
今のiの値が40の場合は配列Box[40]を指定し、1ステップ後(1回Updateした後)のiが60だとしたら、Box[41]ではなくBox[60]を指定したいです
|
9
|
+
現在作成しているプロジェクトが、上記の仕様になっており、同じ周期でUpdateされることを前提としているため、4ステップ目の更新のみ340msかかってしまい、コーディングが難しいです
|
8
10
|
これが起こる原因並びにその解決策、または1ステップごとに同じ経過時間を計測できる方法を探しています
|
9
11
|
|
10
12
|
### 発生している問題・エラーメッセージ
|