在cocos2d中删除上一阶段的userData

时间:2011-12-18 03:44:06

标签: cocos2d-iphone

我发现当我将场景从游戏替换为菜单,然后尝试回到游戏时,userData以某种方式填满,并且联系人监听器正在阅读某些东西并尝试采取行动,因此我会崩溃。

我在联系中有这一行:

if( bodyA->GetUserData() !=NULL && bodyB->GetUserData() !=NULL)
{
CCSprite *actora = (CCSprite*)bodyA->GetUserData();   
CCSprite *actorb = (CCSprite*)bodyB->GetUserData();

在我更换我的场景之前,我会消灭所有的身体,但不知何故,当我回到游戏场景时,用户数据已满,当场景开启时这个条件为真,并且它崩溃。那是因为那里屏幕上不是任何精灵或身体。

如何在更换场景之前删除userData? 如何从UserData中删除我的精灵?

1 个答案:

答案 0 :(得分:0)

你确定你的dealloc方法中有这个代码吗?

delete world;
world = NULL;