Я делаю приложение для iphone с cocos2d и box2d, и у меня возникли проблемы. Я следовал этому уроку о том, как использовать b2ContactListener, потому что он мне очень нужен для моего приложения ... http://www.raywenderlich.com/505/how-to-create-a-simple-breakout-game-with-box2d-and-cocos2d-tutorial-part-22 Я пытаюсь обнаружить, когда два объекта сталкиваются
Мне было очень трудно понять ... не обязательно то, что он делает в игре, а то, как использовать b2contactlistener ... Однако я хочу использовать то, что он делал в этом уроке в мой код
так я обновил свой метод тиков, чтобы он каждый раз проверял наличие коллизий
-(void) update: (ccTime) dt
{
int32 velocityIterations = 8;
int32 positionIterations = 1;
// Instruct the world to perform a single step of simulation. It is
// generally best to keep the time step and iterations fixed.
world->Step(dt, velocityIterations, positionIterations);
std::vector<MyContact>::iterator pos;
for(pos = _contactListener->_contacts.begin();
pos != _contactListener->_contacts.end(); ++pos) {
MyContact contact = *pos;
if ((contact.fixtureA == _bottomFixture && contact.fixtureB == _ballFixture) ||
(contact.fixtureA == _ballFixture && contact.fixtureB == _bottomFixture)) {
NSLog(@"Ball hit bottom!");
}
}
}
Однако я не знаю, как изменить его для работы с моими двумя b2Bodies, eggBody и location.platform ...
Я считаю, что эти несколько строк я должен изменить ...
if ((contact.fixtureA == _bottomFixture && contact.fixtureB == _ballFixture) ||
(contact.fixtureA == _ballFixture && contact.fixtureB == _bottomFixture)) {
NSLog(@"Ball hit bottom!");
}
где написано _bottomFixture и _ballFixture Я думал, что подключу свои b2Bodies ... но теперь я чувствую, что _bottomFixture даже не b2body
:) любая помощь была бы очень кстати, извините, если я кого-то запутал, просто напишите какие-либо вопросы, и я уточню, спасибо