я всегда использую контакт слушателя таким образом:контакт слушателя, кто прикасается к кому?
b2Body *bodyA=contact.fixtureA->GetBody();
b2Body *bodyB=contact.fixtureB->GetBody();
.
.
CCSprite *actora = (CCSprite*)bodyA->GetUserData();
CCSprite *actorb = (CCSprite*)bodyB->GetUserData();
.
.
if ([actora tag] == 6 && ([actorb tag]== 4 || [actorb tag]== 5) ) // question !!
//do stuff here
теперь я нашел мой сам всегда стараюсь угадать, кто actora и кто б. позволяет сказать, что какое-то тело летит и ударяет по другому телу. иногда тело хотена - это а, а другое - b и наоборот.
Я не хочу проверять все условия и хочу знать, что алгоритм знает об этом. Я думал, что первое тело на экране получает a (первый определенный спрайт). это было правильно, пока я не нашел это неправильно :)
так, как бы я знал a/b, который есть? (это случайный?)
большое спасибо.
получил вас. НО я уверен, что есть какая-то рутина при перемещении по списку, например, я видел, что тела ALWAYS, которые сначала создавали, называются первыми. подумайте об этом, о своем классе, который кто-то написал, я уверен, что есть какое-то правило знать, кто будет называться первым в определенном состоянии. Я уже это доказал. – Curnelious