unity3d 碰撞检测

2025-01-06 10:05:29
推荐回答(2个)
回答1:

你写的是 触发检测,不是碰撞检测。关于你的这个问题,你可以判断一下这个触发的对象本身所带的碰撞器类型。

 void OnTriggerStay2D(Collider2D other)  {
        if (other.GetComponent()) return;
        if (other.GetComponent())
        {
            //执行内容
        }
    }

或者你对于带有boxCollider2d的不想被触发的物体使用一个tag标记一下或放到一个碰撞层中,然后检测这个物体的tag是否是带有boxCollider2d的tag,然后return;或者直接忽略触发器所在的碰撞层和不想被触发的碰撞层就可以了。

回答2:

咋了