回答編集履歴

2

別案追記

2018/08/27 08:00

投稿

sakura_hana
sakura_hana

スコア11427

test CHANGED
@@ -17,3 +17,19 @@
17
17
 
18
18
 
19
19
  何にせよあくまで画面描画更新はUpdate基準なので、「描画されない(=見えない)内に撃たれてる」ことになりますけどね。
20
+
21
+
22
+
23
+ ---
24
+
25
+ (2018/08/27追記)
26
+
27
+ 以下の質問のRTeraさんの回答見て気付いたんですが
28
+
29
+ [Unity - 画面を一定時間停止後に画面遷移させる処理がうまくいかない(142729)|teratail](https://teratail.com/questions/142729)
30
+
31
+
32
+
33
+ Updateではない普通の自作メソッド内にforループ作って`Time.realtimeSinceStartup`で時間計測すれば0.0002秒おき(多分環境により大きく変動しそうですが)とかで回せそうです。
34
+
35
+ ……端末の発熱がやばそうな予感もしますけど。

1

Coroutineについて検証結果記載

2018/08/27 08:00

投稿

sakura_hana
sakura_hana

スコア11427

test CHANGED
@@ -4,34 +4,16 @@
4
4
 
5
5
 
6
6
 
7
- あと`Coroutine`を使って自分でループを作っても一応可能かな?
7
+ ~~あと`Coroutine`を使って自分でループを作っても一応可能かな?~~
8
8
 
9
- (検証してないのでもしかしたら遅れるかも)
9
+ ~~(検証してないのでもしかしたら遅れるかも)~~
10
10
 
11
- ```C#
11
+ → 検証しました。CoroutineでWaitForSecondsを使う方法はダメでした(指定の時間が経過した次のフレームで呼ばれる為)。
12
12
 
13
- void Start(){
14
-
15
- StartCoroutine("TestCoroutine");
13
+ `yield return null;`でも1フレーム待機なので、Coroutineでは1フレーム未満の時間は測れなさそうです。
16
-
17
- }

18
14
 
19
15
 
20
16
 
21
- IEnumerator TestCoroutine(){
22
-
23
- while (true) {
24
-
25
- 
 //0.005秒毎に呼ばれる処理をここに書く
26
-
27
- yield return new WaitForSeconds(0.005f);
28
-
29
- }

30
-
31
- }
32
-
33
- ```
34
17
 
35
18
 
36
-
37
- 但しあくまで画面描画更新はUpdate基準なので、「描画されない(=見えない)内に撃たれてる」ことになりますけどね。
19
+ 何にせよあくまで画面描画更新はUpdate基準なので、「描画されない(=見えない)内に撃たれてる」ことになりますけどね。