Настройка групп столкновений в Farseer

Я пытаюсь настроить группы столкновений в Farseer так, чтобы элементы на картинке сталкивались следующим образом:

  • G1 сталкивается со всеми.
  • B1 и B2 сталкиваются друг с другом и G1, но не R1 или R2
  • R1 и R2 сталкиваются друг с другом и G1, но не B1 или B2.

CollisionGroups

Я играл с _Body.CollidesWith = Category.Cat1; а также _Body.CollisionCategories = ..., но я в основном просто догадываюсь. На самом деле я не нашел никаких полезных примеров в документах, но я, возможно, тоже не искал в нужном месте.

Изменить 1:

Хорошо, так что экспериментирую еще немного.

Если предположить, _Body на рисунке - B1 (и также применяется к B2), а Cat1 - это G1, а Cat2 - все синие элементы.

_Body.CollidesWith = Category.Cat1 & Category.Cat2;
_Body.CollisionCategories = Category.Cat2;

Если это не позволит B1 столкнуться с землей (G1) и всеми остальными голубыми (элементы B#)? Применение приведенного выше кода заставляет все синие элементы сталкиваться ни с чем, даже между собой...

1 ответ

_Body.CollisionCategories = Category.Cat1 | Category.Cat2;

вместо

_Body.CollisionCategories = Category.Cat1 & Category.Cat2;
Другие вопросы по тегам