Box2D b2Contact传感器无法检测到物体碰撞
Box2D b2Contact sensor unable to detect object collision
我是Box2D的新手,我正在尝试通过使用b2Contact来检测一个对象(Ball)是否成功通过了其他对象(Goal)。
对于我的Goal对象,我在声明中实现了b2ContactListener,并重写了BeginContact和EndContact函数。在代码中,我试图定制一些随机单词,看看是否既没有调用BeginContact函数,也没有调用EndContact函数,但没有结果。代码如下:
void Goooal::BeginContact(b2Contact* contact)
{
std::cout << "AAAAAAAAAAAAA";
if (contact && contact->IsTouching())
{
std::cout << "BBBBBBBBBBBBBBB";
}
}
void Goooal::EndContact(b2Contact* contact)
{
std::cout << "CCCCCCCCCCCCCCCC";
}
从上面的代码来看,没有一个输出(AAA/BBB/CCC)出来,我非常确信我的球和进球已经通过了。
传感器声明如下:
bodyFixtureD.isSensor = true;
我能知道我哪里做错了吗?或者我需要为我的ball实现b2ContactListener吗?
尝试将您创建的Goal对象设置为世界中ContactListener类的对象。(我想你没有做过,因为你没有提到它。)
你可以这样做:
world->SetContactListener(&ContactListenerInstance);
希望能有所帮助。
相关文章:
- 落砂模拟碰撞检测C++和SFML
- SFML 中的重力和碰撞检测
- 我的碰撞检测中的奇怪行为
- 如何为球形物体和三角形地形提供高效的碰撞检测和响应
- 圆形与方形碰撞检测以及需要响应C++ |OpenGL。我的问题就是这个"I need to keep the circle outside the square"
- 在Qt3D中进行碰撞检测的预期方法(或好方法)是什么?
- 在碰撞检测方面苦苦挣扎.如何正确检测碰撞?
- 三角形-三角形碰撞检测问题
- 不同类别之间的C SFML碰撞检测
- 使用D3DXVECTOR C 的碰撞检测,发生碰撞后该怎么办
- 当我发生碰撞检测时,矢量迭代器不兼容
- 如何使用灵活的碰撞库在两个点云或点云与机器人末端执行器模型之间进行碰撞检测
- 优化碰撞检测C
- 使用碰撞检测来增加SFML 2.4中的游戏分数的问题
- 使用OnComponentHit UE4 C++进行碰撞检测
- 体素世界中的碰撞检测
- 如何在 2D 碰撞检测中正确解析碰撞的位置?
- (中广)获取AABB树生成的边界立方体进行碰撞检测
- 使用C 中的单元格 /图块 /网格进行碰撞检测的最佳数据结构
- 多维边界框碰撞检测