teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

間違い訂正

2019/12/13 04:25

投稿

sakura_hana
sakura_hana

スコア11429

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
+ (普通に出来るんですね、知らなかったです)