お疲れ様です、久しぶりにお世話になります
前提・実現したいこと
OnCollisionEnter2D(Collision2D col)
関数内でcol.contacts[0].point
を取得したい
発生している問題・エラーメッセージ
たまに、contacts
配列の長さが0になります。そのため、
IndexOutOfRangeException: Array index is out of range.
このようなエラーが出てしまいます
該当のソースコード
c#
1 void OnCollisionEnter2D(Collision2D col){ 2 Vector2 point = col.contacts [0].point; 3 Debug.Log(col.contacts.Length); 4 }
質問
私は、
「衝突したときに呼ばれる関数なら、衝突地点が最低1つは存在するはず」
=col.contacts [0].point
は必ず存在する
と考えています。
なぜそうならないのか、また、衝突座標を取得する方法はないのか
以上の2点を知りたいです。よろしくお願い致します
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/26 10:32
2018/04/26 10:34
2018/04/26 22:15