回答編集履歴
1
間違い訂正
answer
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
`StartCoroutine`で呼べるのはコルーチン(IEnumerator)を返すメソッドなので、
|
2
2
|
voidを返すOnCollisionEnterは呼べません。
|
3
3
|
|
4
|
-
そもそもOnCollisionEnterは衝突時にUnityから勝手に呼ばれるものです。
|
4
|
+
~~そもそもOnCollisionEnterは衝突時にUnityから勝手に呼ばれるものです。
|
5
5
|
なのでOnCollisionEnterはコルーチンにならないし、もしコルーチンにしたとしても衝突時に呼ばれなくなるのでOnCollisionEnterである必要が無いです。
|
6
|
-
「OnCollisionEnterの中にコルーチンを作動させて」の意図がよく分かりませんが、単純に衝突時にコルーチンを発動したいなら、素直にOnCollisionEnterの中で`StartCoroutine`を使ってください。
|
6
|
+
「OnCollisionEnterの中にコルーチンを作動させて」の意図がよく分かりませんが、単純に衝突時にコルーチンを発動したいなら、素直にOnCollisionEnterの中で`StartCoroutine`を使ってください。~~
|
7
|
+
|
8
|
+
simapikoさんの回答の通り、
|
9
|
+
`IEnumerator OnCollisionEnter (Collision collision) { }`
|
10
|
+
とすることで衝突も含めて正常に動作することを確認しました。
|
11
|
+
(普通に出来るんですね、知らなかったです)
|