如何消除 box2d 中碰撞物体的反弹?
当两个对象发生碰撞时,我试图删除 box2d 中的对象。
当我的两个物体发生碰撞时,其中一个物体会从另一个物体上弹开。它确实删除了另一个对象,但我希望它看起来像是经过而不是反弹。
我将 body Def 类型设置为 b2_staticBody
。
I am trying to delete an object in box2d
when two objects collide.
When my two objects do collide, one of the object bounces off the other. It does delete the other object, but I want it to make it look like it went through rather than a bounce.
I have my body Def type set to 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.