world - > setContactListener(contactListener)?当我写这行时我的应用程序崩溃了

时间:2012-07-09 12:54:00

标签: cocos2d-iphone box2d-iphone

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

world ->setContactListener (contactListener)

错误信息在

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

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

ContactListener *contactListener = new ContactListener();

答案 2 :(得分:0)

使用此代码

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

在创建单词后编写此代码。

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