【发布时间】:2021-05-29 01:59:41
【问题描述】:
我在我的 cocos2dx v4 项目中使用 box2d 2.3.1physics 引擎。我的多边形形状是使用物理编辑器创建的。一切都正常碰撞,但联系人监听器不记录联系人。
这是我在 helloworld.h 中定义的联系人监听头
MyContactListener 类:公共 b2ContactListener
{
私人的 : 无效 BeginContact(b2Contact* 联系人); 无效 EndContact(b2Contact* 联系人); void PreSolve(b2Contact* contact, const b2Manifold* oldManifold);
void PostSolve(b2Contact* contact, const b2ContactImpulse* impulse);};
这是我在 helloworld.cpp 中的联系人监听器实现
void MyContactListener::BeginContact(b2Contact* 联系人) { std::cout
}
void MyContactListener::EndContact(b2Contact* 联系人) {
std::cout
}
void MyContactListener::PreSolve(b2Contact* contact, const b2Manifold* oldManifold) {
std::cout
}
void MyContactListener::PostSolve(b2Contact* contact, const b2ContactImpulse* impulse) {
std::cout
}
MyContactListener myContactListenerInstance;
以及我对世界的联系人监听器分配(在 helloworld.cpp init 中)
_rootWorld->getb2World()->SetContactListener(&myContactListenerInstance);
一切正常但它不记录冲突联系人
我的身体类别和位掩码值是
主体 A:位掩码:63,类别:1
body B:位掩码:63,类别:2
body C:位掩码:63,类别:4
body D:位掩码:63,类别:8
body E:位掩码:63,类别:16
body F:位掩码:63,类别:32
谁能帮忙?
【问题讨论】: