我是box2d的新手。我在box2d開始了一個新遊戲,並在世界上創建了5個動態身體。最初我需要防止它們之間的碰撞。所以我設置了所有機構的組索引。碰到身體後,我想讓這個身體碰撞。如何重置組索引。請幫助..如何在box2d中動態改變人體的組索引
2
A
回答
2
聽起來你正在尋找的東西像
b2Body *body = world->GetBodyList();
b2Filter filter = body->GetFilterData();
filter.maskBits = filter.maskBits | THE_RELEVANT_CATEGORY_BITS;
body->SetFilterData(&filter);
這裏的想法是,你可以得到碰撞過濾數據的任何對象,使用一些布爾邏輯來分配碰撞數據給maskBits字段,然後使用SetFilterData將新的碰撞數據應用於正文。 THE_RELEVANT_CATEGORY_BITS應該是枚舉類型的元素,其中每個碰撞過濾類別都由唯一的二進制整數表示。
退房的Box2D的教程更多關於這個http://www.iforce2d.net/b2dtut/collision-filtering
1
,如果你有一個機構超過1個燈具,那麼你可以使用此代碼塊
for (b2Fixture* fix = body->GetFixtureList(); fix; fix = fix->GetNext())
{
b2Filter filter= fix->GetFilterData();
filter.groupIndex = 0;
filter.categoryBits = 0x0004;
filter.maskBits = 0x0002;
fix->SetFilterData(filter);
}
相關問題
- 1. 在動畫中改變box2d的身體燈具
- 2. 如何組合Box2d物體?
- 3. Box2d中的動態主體爲null
- 4. 如何在Box2D中創建一個動態主體?
- 5. 如何動態定義數組索引?
- 6. 如何動態檢查數組中的索引是否存在?
- 7. 在box2d中拉動肢體
- 8. Box2d動態物體卡住靜態
- 9. 如何改變人體的邊界半徑引導
- 10. 如何在SAS中動態選擇索引賦值變量?
- 11. scrollView contentOffset y改變時如何動態改變字體大小?
- 12. 如何在TextView中動態改變字體樣式?
- 13. 如何在java中動態改變xml?
- 14. 改變人體的上滾動
- 15. Box2D的對象 - 修改動態碰撞
- 16. Box2d動態圈體通過我的靜態多邊形體?
- 17. 在數組中檢索特定索引的具體索引
- 18. 如何動態改變adf窗體中的按鈕顏色?
- 19. 從動態數組中刪除元素而不改變索引順序
- 20. 如何更改移動物體的位置 - Box2D
- 21. Box2D動態物體卡住(iPhone)
- 22. 改變二維數組的索引
- 23. 如何捕獲自定義變體上的數組索引
- 24. 如何動態地改變其他組合框的值改變組合框
- 25. 配置獅身人面像來索引一組動態表格
- 26. 在Andengine Box2d身體運動
- 27. 如何改變靜態的JTable限制動態(靜態對象數組動態)
- 28. Box2d動態子彈身體沉入靜態物體
- 29. 用Ember上的javascript動態改變選擇索引值
- 30. 如何在飛行中更改身體和精靈? Box2d