如何消除 box2d 中碰撞物体的反弹?
当两个对象发生碰撞时,我试图删除 box2d 中的对象。
当我的两个物体发生碰撞时,其中一个物体会从另一个物体上弹开。它确实删除了另一个对象,但我希望它看起来像是经过而不是反弹。
我将 body Def 类型设置为 b2_staticBody
。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该将身体的固定装置设置为传感器:
然后创建一个接触侦听器 (
class MyContactListener : public b2ContactListener
),用于检测 BeginContact 方法中的碰撞并检查碰撞对象之一是否属于这种特殊对象种类。一个好的方法是使用这两种方法:您需要对 C++ 有一点熟悉才能实现这一点。
You should set the body's fixture to be a sensor:
You then create a contact listener (
class MyContactListener : public b2ContactListener
) that detects collisions in the BeginContact method and checks if one of the colliding objects is of this special kind. A good way of doing that is by using these two methods:You need to be a bit familiar with C++ to pull it off.