在farseer中设置碰撞组

在farseer中设置碰撞组,farseer,Farseer,我正在尝试在Farseer中设置碰撞组,以便图片中的项目按如下方式碰撞: G1与All发生碰撞 B1和B2相互碰撞,G1相互碰撞,但R1或R2不碰撞 R1和R2相互碰撞,G1相互碰撞,但B1或B2不碰撞 我一直在玩\u Body.collizeswith=Category.Cat1和\u Body.CollisionCategories=…,但我基本上只是猜测。在文档中没有找到任何有用的例子,但我可能也没有找到合适的地方 编辑1: 好的,再做一些实验 假设图中的主体为B1(也适用于B2),

我正在尝试在Farseer中设置碰撞组,以便图片中的项目按如下方式碰撞:

  • G1与All发生碰撞
  • B1和B2相互碰撞,G1相互碰撞,但R1或R2不碰撞
  • R1和R2相互碰撞,G1相互碰撞,但B1或B2不碰撞

我一直在玩
\u Body.collizeswith=Category.Cat1
\u Body.CollisionCategories=…
,但我基本上只是猜测。在文档中没有找到任何有用的例子,但我可能也没有找到合适的地方

编辑1:

好的,再做一些实验

假设图中的主体为B1(也适用于B2),Cat1为G1,Cat2均为蓝色项目

_Body.CollidesWith = Category.Cat1 & Category.Cat2;
_Body.CollisionCategories = Category.Cat2;
这是否应该允许B1与地面(G1)和所有其他蓝色(B#项目)碰撞? 应用上面的代码会使所有蓝色项目都不会发生冲突,甚至彼此之间也不会发生冲突

_Body.CollisionCategories = Category.Cat1 | Category.Cat2;
而不是

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