獲取box2d中碰撞點的最佳方式是什麼?我使用它與cocos2d和Objective C,但我想象其他語言的API是相似的。使用b2ContactListener類將生成b2Contact對象,但我無法在聯繫人位置上找到任何信息。如何獲得box2d中的碰撞位置
2
A
回答
0
您可以使用下面的代碼獲取碰撞點
b2Body *bodyA = contact->GetFixtureA()->GetBody();
b2Body *bodyB = contact->GetFixtureB()->GetBody();
if ((bodyA->GetFixtureList()->GetFilterData().categoryBits == Categorybits1 || bodyA->GetFixtureList()->GetFilterData().categoryBits == categoryBits2) && (bodyB->GetFixtureList()->GetFilterData().categoryBits == categoryBits2 || bodyB->GetFixtureList()->GetFilterData().categoryBits == Categorybits1))
您可以通過這個代碼得到機構持倉.....
即使我在尋找如何讓碰撞點
+0
乾杯 - 雖然自2011年以來我還沒有真正回到這一點 - 但希望對其他人有用。 –
0
try this method
OBJECT1_CATEGORY_BITS = 0x00000001;
OBJECT2_CATEGORY_BITS = 0x00000002;
void MyContactListener::PreSolve(b2Contact *contact, const b2Manifold
*oldManifold)
{
b2Fixture *fixtureA = contact->GetFixtureA();
b2Fixture *fixtureB = contact->GetFixtureB();
b2Filter filterA = fixtureA->GetFilterData();
b2Filter filterB = fixtureB->GetFilterData();
if ((filterB.categoryBits == OBJECT1_CATEGORY_BITS) && (filterA.categoryBits == OBJECT2_CATEGORY_BITS))
{
b2Vec2 normal = contact->GetManifold()->localNormal;
NSLog(@"pointX : %f",normal.x);
NSLog(@"pointY : %f",normal.y);
}
}
相關問題
- 1. Box2D獲得碰撞衝動沒有b2ContactListener
- 2. 如何獲得與Box2d的碰撞點或點?
- 3. 如何避免box2D中的碰撞力?
- 4. Box2D中的碰撞檢測
- 5. 如何檢測碰撞,但不會在box2d中碰撞?
- 6. Box2d碰撞(android AndEnigne)
- 7. BOX2D - 與Monster碰撞
- 8. Box2d比較碰撞
- 9. box2d,setTransform和碰撞
- 10. Box2D碰撞回調
- 11. Box2D碰撞檢測?
- 12. Box2d碰撞問題
- 13. Box2D矩形碰撞
- 14. Box2D碰撞檢測
- 15. AndEngine Box2D。移除碰撞後的碰撞遊戲碰撞
- 16. 如何使關節碰撞在Box2D的
- 17. Box2D的碰撞不夠好
- 18. Box2D中的高級碰撞檢測 - 碰撞點,力量等
- 19. 碰撞檢測失敗Box2d
- 20. Starling + Box2d - 碰撞不精確
- 21. Cocos2d/Box2d CCRibbon碰撞檢測
- 22. box2d碰撞檢測,代碼
- 23. Box2D碰撞檢測問題?
- 24. Box2D物理碰撞情景
- 25. Libdgx Box2D - 檢測碰撞
- 26. Box2d碰撞檢測(cocos2d)
- 27. Box2d碰撞。對象變形
- 28. AndEngine和box2d碰撞過濾
- 29. Box2D,libGDX斜坡碰撞
- 30. Box2d Cocos2d ContactListener檢測碰撞
看起來像我殺了黨 –
我認爲[演示](http://www.raywenderlich.com/606/how-to-use-box2d-for-just-collision-detection-with- cocos2d-iphone)會爲你工作! – Marine
謝謝,我已經經歷了一段時間。我使用b2Body's,因此檢測碰撞仍然很容易。 –