Цитата:
Сообщение от caseyryan
Не совсем. Там не по типам столкновения проверяются, и по фильтрам. Одинаковые объекты могу не сталкиваться друг с другом, если это указано в их фильтрах.
|
Да, есть фильтры взаимодействий. Но ещё есть возможность задавать собственные типы объектам, для ещё более расширенного контроля взаимодействий.
У объектов Body есть свойство cbTypes, куда могут быть добавлены пользовательские типы. После этого можно подписаться на взаимодействие объектов только определённых типов. Это делается при помощи листенеров PreListener или InteractionListener, у которых в параметры option1, option2 можно передать экземпляр cbType, обозначающий соответствующий тип объектов. Колбэк листенера будет вызываться только при взаимодействий объектов интересующих типов.
К примеру, при помощи PreListener можно обработать результат физического взаимодействия двух тел вручную или вовсе игнорировать столкновение. Таким образом, даже объекты с одинаковой маской взаимодействия могут вести себя совершенно по разному.