1

当我写这行时,我的应用程序崩溃了

world ->setContactListener (contactListener)

错误信息在

void b2World::SetContactListener(b2ContactListener* listener)
{
    m_contactManager.m_contactListener = listener;    //EXE_BAD_ACCESS
}

请帮助我,我想使用contactlistener进行碰撞检测...谢谢

4

3 回答 3

1

如果您的程序在该行失败,则可能未设置 m_contactManager。

于 2012-07-09T13:07:52.933 回答
0

你记得初始化contactListener吗?如果您尝试在对 的调用中使用未初始化的指针setContactListener,您将获得 BAD_ACCESS。确保在通话之前有这样的一行:

ContactListener *contactListener = new ContactListener();
于 2012-07-10T20:43:54.827 回答
0

使用此代码

_contactListener = new MyContactListener();
world->SetContactListener(_contactListener);

要编写此代码,请在创建 word 之后。

崩溃原因:未创建世界,但您将ContactListener 设置为世界,这样您的应用程序就崩溃了。我认为这对你有帮助...

于 2014-01-21T04:52:08.933 回答