當我將Unity版本5.5更新到5.6時,發生了有關Collision2D.contacts數組的錯誤。當我嘗試訪問聯繫人數組時,我現在無法獲取聯繫人信息。Unity5.6 Collision2D接觸點數組索引超出範圍錯誤
void OnCollisionExit2D(Collision2D col)
{
if (col.gameObject.CompareTag("Ground"))
{
if ((_transform.position.y - col.contacts[0].point.y) > colliderHeight/2 + .15f)
{
Debug.Log ("Contact count = " + col.contacts.Length);
_onGround = false;
ParticleController.PlayDustEffect();
}
}
}
錯誤日誌:
IndexOutOfRangeException:數組索引超出範圍。 Player.OnCollisionExit2D(UnityEngine.Collision2D COL)(在資產/腳本/ CharacterController/Player.cs:759)
我如何修正這個錯誤?
謝謝你的時間。
感謝您的建議和時間,但這裏有一個問題。您可以訪問上次檢測到的碰撞信息。 https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnCollisionExit.html - 在將Unity 5.5更新到5.6後,當我使用OnCollisionExit2D函數時,無法獲取任何聯繫人信息。如果我無法解決這個問題,我將安裝Unity 5.5。 –
這發生在OnCollisionEnter2D上。如何在沒有接觸點的情況下發生碰撞? –