如何檢測身體是否碰撞其他身體,但不會對此碰撞做出反應。如何檢測碰撞,但不會在box2d中碰撞?
通過默認我 - 檢測碰撞和車身碰撞。
如果我設置了fixtureDef過濾器 - 物體不會相互碰撞,但我無法檢測到碰撞。
請幫忙!
如何檢測身體是否碰撞其他身體,但不會對此碰撞做出反應。如何檢測碰撞,但不會在box2d中碰撞?
通過默認我 - 檢測碰撞和車身碰撞。
如果我設置了fixtureDef過濾器 - 物體不會相互碰撞,但我無法檢測到碰撞。
請幫忙!
你想要的是一個身體上的傳感器夾具。從box2d手冊:
有時遊戲邏輯需要知道兩個固定裝置重疊的時間,但應該沒有碰撞響應。這是通過使用傳感器完成的。傳感器是檢測碰撞但不產生響應的固定裝置。
您可以將任何燈具標記爲傳感器。傳感器可能是靜態的或動態的。請記住,你可能有多個固定裝置,你可以有任何混合的傳感器和固體裝置。
傳感器不生成接觸點。有兩種方法可以得到一個傳感器的狀態:
- b2Contact :: IsTouching
- b2ContactListener :: BeginContact和EndContact
您可以設置一個固定的傳感器,然後寫它進入你的聯繫監聽器。如果夾具的傳感器標誌設置爲真,它將提供碰撞數據,而不物理模擬碰撞(即,允許您測試任何其他碰撞夾具之間的重疊)。
這是一個有用的教程,開始使用傳感器Ray Wenderlich sensor tutorial
嘗試閱讀有關傳感器的更多信息http://www.box2d.org/manual.html – Cyclonecode