質問編集履歴

3

誤字

2020/05/10 17:31

投稿

cccfffjjj
cccfffjjj

スコア3

test CHANGED
File without changes
test CHANGED
@@ -18,15 +18,15 @@
18
18
 
19
19
  ### これを使用したいプロジェクトについて
20
20
 
21
- 現実時間と連動したゲームを作成したいと考えているので、『経過時間(ms)をiとおき、要素数100の配列のBox[]があるとした場合』
22
-
23
- 今のiの値が40の場合は配列Box[40]を指定し、1ステップ後(1回Updateした後)のiが60だとしたら、Box[41]ではなくBox[60]を指定したいです
24
-
25
- 現在作成しているプロジェクトがこのような仕様になっており、ほぼ同じ周期でUpdateされることを前提としているため、4ステップ目の更新のみ340msかかってしまうとコーディングが難しいです
26
-
27
- 加えて、void Strt()とvoid Updateの両方でBox[i]を使うため、「初めてUpdateしたときに1秒待ってから処理を始める」は解決策としてはちょっと違うかもしれません、、、
28
21
 
29
22
 
23
+ 現実時間と連動したゲームを制作しており、「ゲーム開始からの経過時間(ms)をiとした場合」に、ある経過時間になったとき特定の動作をするようなものです(例:開始から100msたったら(i = 100)90度回転、230ms(i = 230)たったら10移動)
24
+
25
+ 1回Updateをするのに20msかかるため、例えばi = 20でUpdateをすると次のiは40となります。この際、例えば30msのときに特定の動作をするようになっていると、21~39はiに入らないため(i = 20 → i = 40)この命令を飛ばしてしまいます。
26
+
27
+ そのため、動作をさせるかどうかの判断を「if i == 30」ではなく「if i == 30 || abs(i - 30 ) <= 10」としています。こうすることで、iが40であっても30で実行するはずだった命令を行えるようにしています。しかし、このコーディングは、updateの間隔が一定であるという前提で組んでいるため4ステップ目の更新のみ340msかかってしまうと、行いたい挙動をプログラムが行ってくれなくなってしまいます
28
+
29
+ 加えて、上記のような処理は、void Start、void Updateのどちらにも用いたいため、「1回目のUpdateで1秒待ってから経過時間を測る」ような処理は、うまくいかない可能性があります、、、
30
30
 
31
31
 
32
32
 

2

誤字

2020/05/10 17:31

投稿

cccfffjjj
cccfffjjj

スコア3

test CHANGED
File without changes
test CHANGED
@@ -10,13 +10,23 @@
10
10
 
11
11
  4ステップ目だけ複雑な命令を出しているわけでもないのに、340msもかかってしまう理由がわかりません。
12
12
 
13
+ これが起こる原因並びにその解決策、または1ステップごとに同じ経過時間を計測できる方法を探しています
14
+
15
+
16
+
17
+
18
+
19
+ ### これを使用したいプロジェクトについて
20
+
13
- また、現実時間と連動したゲームを作成したいと考えているので、『経過時間(ms)をiとおき、要素数100の配列のBox[]があるとした場合』
21
+ 現実時間と連動したゲームを作成したいと考えているので、『経過時間(ms)をiとおき、要素数100の配列のBox[]があるとした場合』
14
22
 
15
23
  今のiの値が40の場合は配列Box[40]を指定し、1ステップ後(1回Updateした後)のiが60だとしたら、Box[41]ではなくBox[60]を指定したいです
16
24
 
17
- 現在作成しているプロジェクトが、上記の仕様になっており、同じ周期でUpdateされることを前提としているため、4ステップ目の更新のみ340msかかってしまい、コーディングが難しいです
25
+ 現在作成しているプロジェクトがような仕様になっており、ほぼ同じ周期でUpdateされることを前提としているため、4ステップ目の更新のみ340msかかってしまうとコーディングが難しいです
18
26
 
19
- これが起こる原因並びにそ解決策は1ステップごとに同じ経過時間計測でき方法を探して
27
+ 加えて、void Strt()とvoid Update両方でBox[i]を使うため「初めてUpdateしたと1秒待ってから処理始め」は解決策としてはちょっと違うかもしれせん、、、
28
+
29
+
20
30
 
21
31
 
22
32
 

1

誤字

2020/05/10 17:02

投稿

cccfffjjj
cccfffjjj

スコア3

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,11 @@
10
10
 
11
11
  4ステップ目だけ複雑な命令を出しているわけでもないのに、340msもかかってしまう理由がわかりません。
12
12
 
13
+ また、現実時間と連動したゲームを作成したいと考えているので、『経過時間(ms)をiとおき、要素数100の配列のBox[]があるとした場合』
13
14
 
15
+ 今のiの値が40の場合は配列Box[40]を指定し、1ステップ後(1回Updateした後)のiが60だとしたら、Box[41]ではなくBox[60]を指定したいです
16
+
17
+ 現在作成しているプロジェクトが、上記の仕様になっており、同じ周期でUpdateされることを前提としているため、4ステップ目の更新のみ340msかかってしまい、コーディングが難しいです
14
18
 
15
19
  これが起こる原因並びにその解決策、または1ステップごとに同じ経過時間を計測できる方法を探しています
16
20