如何在cocos2d-x中安全地删除物理节点

时间:2015-01-07 19:37:56

标签: c++ cocos2d-x

我添加了一些在屏幕上移动的节点。在某些时候,当我按下一个按钮(MenuItemImage)时,我需要更改图层(而不是场景)。因此,我尝试从PhysicBody中删除所有移动节点“PhysicWorld”,然后自行删除节点。它通常有效,但有时候,我会从PhysicsBody::update函数内部崩溃。此时,this指的是移动对象PhysicBody。而且,似乎父是NULL。但是,我尝试了来自世界的所有PhysicBody。因此,在我删除后,不应该绘制它们(我猜这是导致问题)

很明显存在一些并发问题。但是,我不想碰cocos2d-x调度员。那么,从世界中删除PhysicBody和节点的正确方法是什么?

现在,我为PhysicBody调用removeFromWorld(),为Cocos2d节点调用removeChildren。甚至,我在这两个操作之间放了一些延迟,有时候我仍然会崩溃。

0 个答案:

没有答案