0
当我退出一个场景时,使用下面的代码进入下一个场景;替换导致Cocos2dx崩溃的场景
if(_next->boundingBox().containsPoint(location))
{
LipsColorScene::flagnext=false;
CCLog("click next");
_next->setVisible(false);
_next->setPosition(ccp(1500, -500));
lipstickscrollview->setVisible(false);
imageForShowingMask->setVisible(false);
// this->setScale(1.0f);
lipstickscrollview->setVisible(false);
LipsColorScene::screenshot= this;
CCDirector::sharedDirector()->getRunningScene()->removeChild(screenshot);
lipstickscrollview->setVisible(false);
imageForShowingMask->setVisible(false);
// this->setScale(1.0f);
lipstickscrollview->setVisible(false);
// CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("sounds/btn_clicksound.mp3");
CCDirector::sharedDirector()->replaceScene(LastScene::scene());
}
当它显示LastScene时,它崩溃了,LastScene的init部分是this;
if (LipsColorScene::screenshot !=NULL)
{
LipsColorScene::screenshot->setPosition(ccp(115.833313,-111.562469));
LipsColorScene::screenshot->setRotation(-17);
this->addChild(LipsColorScene::screenshot,0);
}
如果我删除此行;
this->addChild(LipsColorScene::screenshot,0);
然后游戏不会崩溃,但是,由于我需要使用屏幕截图,因此无法达到预期效果。
有没有办法可以调用上述方法而无需将其添加为孩子?
你的目标是什么?你是否试图在下一个场景中使用节点? –