我尝试使用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被禁用。
弑天下
相关分类