回答編集履歴

2

質問者からの追記を元により適した回答に

2021/01/01 17:13

投稿

Ram.Type-0
Ram.Type-0

スコア424

test CHANGED
@@ -1,31 +1,13 @@
1
- 止めたい処理は上のスクリプトで言うStart内のみですか?
2
-
3
- そうであれば、Startをコルーチンにすれば可能です。
4
-
5
- コルーチン内であれば、`yield return new WaitUntil(()=> Input.GetMouseButtonDown(0)); `
1
+ [Debug.Break](https://docs.unity3d.com/ja/current/ScriptReference/Debug.Break.html)を呼べば呼んだ次のフレームに移行する前にポーズしてくれるので、Inspectorなどは操作できる状態で処理を止めることができます。
6
-
7
- でマウスクリックがあるまでそのコルーチンの処理を止めることができます。
8
2
 
9
3
 
10
4
 
5
+ ですが、このメソッドはあくまでも呼んだ瞬間ではなく、呼んだあとのフレーム移行時に機能するので
11
6
 
12
-
13
- > await/async以外であるでしょうか?
14
-
15
- await/asyncは、Startメソッドasync付与しないいけない制限があるの考えていません。
7
+ 同じフレームのループ中など呼んでもループの途中結果確認するこません。
16
8
 
17
9
 
18
10
 
19
- asyncを付与しないといけないと何が問題しょうか?
11
+ 非同期でないUnityのメインスレッド上の処理を止めれば同じメインスレッドで実行されているInspectorの更新処理も止まるため、非同期でない処理を即座中断してInspectorで確認すことはきません。
20
12
 
21
-
22
-
23
- > どんなメソッド内でも制限なしに、他のメソッドを呼び出せば、
24
-
25
- そこで処理が止まって入力を待機するようにしたいです。
26
-
27
- await/async以外コルーかでもいです。
13
+ このよう場合はIDEのウォッ式などを活用するのが良いす。
28
-
29
-
30
-
31
- とありますがコルーチンでもいいというのとどんなメソッド内でも、というのは矛盾していませんか?

1

質問の不明瞭な点に言及

2021/01/01 17:13

投稿

Ram.Type-0
Ram.Type-0

スコア424

test CHANGED
@@ -1,3 +1,31 @@
1
+ 止めたい処理は上のスクリプトで言うStart内のみですか?
2
+
3
+ そうであれば、Startをコルーチンにすれば可能です。
4
+
1
5
  コルーチン内であれば、`yield return new WaitUntil(()=> Input.GetMouseButtonDown(0)); `
2
6
 
3
7
  でマウスクリックがあるまでそのコルーチンの処理を止めることができます。
8
+
9
+
10
+
11
+
12
+
13
+ > await/async以外であるでしょうか?
14
+
15
+ await/asyncは、Startメソッドにasyncを付与しないといけない制限があるので考えていません。
16
+
17
+
18
+
19
+ asyncを付与しないといけないと何が問題になるのでしょうか?
20
+
21
+
22
+
23
+ > どんなメソッド内でも制限なしに、他のメソッドを呼び出せば、
24
+
25
+ そこで処理が止まって入力を待機するようにしたいです。
26
+
27
+ await/async以外なら、コルーチンとかでもいいです。
28
+
29
+
30
+
31
+ とありますがコルーチンでもいいというのとどんなメソッド内でも、というのは矛盾していませんか?