我嘗試使用OnCollisionExit,但它沒有檢測到另一個對象的框collider 2D被禁用(當我禁用其他對象框碰撞器 2D 時,它沒有檢測到它停止碰撞)。collider我需要禁用其他對象,因為我將其用作拳擊的范圍指示器,并且我不希望它與其他對象交互(例如:玩家用范圍指示器推開敵人)。我可以使用其他方法嗎?private void OnCollisionEnter2D(Collision2D collision){ if (collision.collider.tag == "PunchRange") { Player.GetComponent<Fight>().PunchInRange = true; } if (collision.collider.tag == "KickRange") { Player.GetComponent<Fight>().KickInRange = true; }}private void OnCollisionExit2D(Collision2D collision){ if (collision.collider.tag == "PunchRange") { Player.GetComponent<Fight>().PunchInRange = false; } if (collision.collider.tag == "KickRange") { Player.GetComponent<Fight>().KickInRange = false; }}我希望它能夠檢測到它不與對象碰撞,即使對象的框collider 2D被禁用。
1 回答

弒天下
TA貢獻1818條經驗 獲得超8個贊
你必須重新組織你的介紹,因為它太復雜了,我不知道你到底想要什么。
要檢測碰撞或缺少碰撞,您必須使用碰撞器(也許放置額外的碰撞器但作為觸發器)。然而我的理解是你想用它們作為觸發器。在 Collider2D 組件上,您可以設置 isTrigger 值。設置它會使碰撞器仍然工作,但物理上不工作(其他碰撞器可以通過它)。
- 1 回答
- 0 關注
- 106 瀏覽
添加回答
舉報
0/150
提交
取消