我添加了一些在屏幕上移动的节点。在某些时候,当我按下一个按钮(MenuItemImage
)时,我需要更改图层(而不是场景)。因此,我尝试从PhysicBody
中删除所有移动节点“PhysicWorld
”,然后自行删除节点。它通常有效,但有时候,我会从PhysicsBody::update
函数内部崩溃。此时,this
指的是移动对象PhysicBody
。而且,似乎父是NULL。但是,我尝试了来自世界的所有PhysicBody
。因此,在我删除后,不应该绘制它们(我猜这是导致问题)
很明显存在一些并发问题。但是,我不想碰cocos2d-x调度员。那么,从世界中删除PhysicBody
和节点的正确方法是什么?
现在,我为PhysicBody调用removeFromWorld()
,为Cocos2d节点调用removeChildren
。甚至,我在这两个操作之间放了一些延迟,有时候我仍然会崩溃。