我正在使用cocos2d和box2d,與聯繫人偵聽器,並可以說我有一個身體可以擊中其他幾個身體,但他們每個人都打開聯繫偵聽器。 那麼我怎麼知道誰打誰?如何知道哪個身體碰撞?
我有這個在我的滴答聲:
for(pos = _contactListener->_contacts.begin(); pos != _contactListener->_contacts.end(); ++pos)
{
MyContact contact = *pos;
b2Body *bodyA=contact.fixtureA->GetBody();
b2Body *bodyB=contact.fixtureB->GetBody();
//check if collision between to bodies
if(bodyA->GetUserData() !=NULL && bodyB->GetUserData() !=NULL) //if ((contact.fixtureA == _bottomFixture && contact.fixtureB == _ballFixture) ||(contact.fixtureA == _ballFixture && contact.fixtureB == _bottomFixture))
{
NSLog(@"Ball hit bottom!");
}
非常感謝。
我沒有在一年多程序的iPhone,但我記得有是當身體發生碰撞的回調,對不起,我不能提供更多的幫助,我會看看我的老遊戲的源代碼,但我在做Java的工作。 –