我希望物品(动态物体)由于重力而与地板(静止体)碰撞。但是我不希望玩家与地板上的物品碰撞,但是当玩家重叠物品时我需要回调(好像物品isSensor属性设置为true)。
有可能吗? 我尝试了一些带有类别位和掩码位的配置但没有成功。
之前我没有遇到此问题,因为项目的gravityScale设置为0,因此它们没有落在地板上。但现在他们需要回应引力。
感谢。
答案 0 :(得分:0)
您必须实现扩展b2ContactListener
的类。您可以选择拒绝PreSolve()
虚拟功能中的冲突。在传递给b2Contact
的{{1}}对象中,您可以获得2个灯具,如果您之前存储了指向用户数据的指针,则可以从中获取实际碰撞的内容。
在启动游戏引擎之前,创建PreSolve()
子类的新对象,然后调用游戏世界对象的方法b2ContactListener
来设置侦听器。