Настройка групп столкновений в Farseer
Я пытаюсь настроить группы столкновений в Farseer так, чтобы элементы на картинке сталкивались следующим образом:
- G1 сталкивается со всеми.
- B1 и B2 сталкиваются друг с другом и G1, но не R1 или R2
- R1 и R2 сталкиваются друг с другом и G1, но не B1 или B2.
Я играл с _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;