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

回答編集履歴

1

説明が足りていなかったので修正します

2019/12/29 15:47

投稿

tatamyiwathy
tatamyiwathy

スコア1045

answer CHANGED
@@ -1,5 +1,6 @@
1
1
  GameObjectがいつの間にかいなくなってたはゲーム制作あるあるですね。
2
2
 
3
3
  基本的にGameObjectをDestroyするときはGameObject自身でDestroyせず、DestroyManagerのようなオブジェクトにDestroyを依頼する形にします。DestroyManagerはフレームの最後(GameObject同士のやり取りがなくなったとき)にまとめてDestroyします。
4
+ その場合、EnemySearchAreaはUpdate毎に範囲内のGameObjectを探すようにします。
4
5
 
5
- ほかの方法としてEnemySearchAreaコライダーを使用せず、Update毎に範囲内のGameObjectを探処理を行うこでDestroyされたGameObjectを抱え込む問題はクリアできます。
6
+ の方法としてはGameObjectがDestroyときにEnemySearchAreaにリストから自分自身を削除するよう依頼するようにします。