Как обеспечить крепеж A - PullRequest
0 голосов
/ 12 марта 2012

Я запутался в использовании контактного прослушивателя box2d. Теперь у меня есть body1 и body2.Когда у двух тел был контакт, как я могу убедиться, что тело прибора A - это тело 1 или тело 2? Или как я могу определить, какой корпус принадлежит устройству A?

Я провел эксперимент и убедился, что корпус прибора A не случайный. Это все, что я могу сейчас гарантировать.

Хорошо. Может быть, я должен спросить по-другому. Теперь я могу понять, что тело прибора A - это body1, и каждый раз, когда это может быть body1. Но почему? Почему не body2? (Body1 & body2 - это просто имена, как это. .)

1 Ответ

1 голос
/ 12 марта 2012

Вы не можете гарантировать или предполагать какой-либо порядок приборов в контактном слушателе.В очень простой сцене обычно может быть довольно предсказуемо, какой прибор будет каким, но вы не должны полагаться на то, что он всегда будет таким, скорее, вы должны написать свою программу так, как если бы порядок был случайным.

Для проверкито, с чем вы работаете в обратном вызове прослушивателя контактов, вам нужно будет либо сохранить указатель на прибор / тело, когда вы создаете его для сравнения, либо задать пользовательские данные в приборе / теле для проверки.Вы также можете выполнить другие проверки, например, проверить, какую форму имеет прибор, или к какому типу корпуса он принадлежит ... все, что вам нужно знать о приборе, чтобы выяснить, что с ним делать, зависит отваша игра.

...