scene->removeChild(sprite);//removeChild(sprite, false) and removeChild(sprite, true) all tried
scene->addChild(sprite);
不会看到精灵。发生了什么?
scene->removeChild(sprite);//removeChild(sprite, false) and removeChild(sprite, true) all tried
scene->addChild(sprite);
不会看到精灵。发生了什么?
似乎您的孩子在被从现场移走后被简单地摧毁了。在 cocos2d-x 中有一个类似objective-c 的引用计数系统,它会在从父精灵中移除后减少该精灵的引用计数。如果计数器达到0
值,节点将被销毁。在调用之前确保您的精灵不为空scene->addChild(sprite);
sprite->retain();
scene->removeChild(sprite);
scene->addChild(sprite);
sprite->release();
每次你retain
自己调用时,你必须在它之后调用release,以防止泄漏。
删除精灵后需要保留,再次添加后需要释放。
sprite->retain();
scene->removeChild(sprite);
scene->addChild(sprite);
sprite->release();