Я только начал изучать Cocos2dx и использовал основной проект HelloWorld. Я добавил SecondScene и кнопку, чтобы изменить сцену. Но как только метод popScene выполнен, экран стал черным, и он не попал в первую сцену. Я не знаю, что случилось. Вот код, я изменил немного в helloworld.cpp:получить черный экран после popScene
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
CCDirector::sharedDirector()->pushScene(SecondScence::scene());
#endif
Код в SecondScene:
#include "SecondScence.h"
USING_NS_CC;
CCScene* SecondScence::scene(){
CCScene* scene=CCScene::create();
SecondScence* layer = SecondScence::create();
scene->addChild(layer);
return scene;
bool SecondScence::init(){
CCLabelTTF* label = CCLabelTTF::create("hfiejfeiojfoej", "Arial", 30);
label->setPosition(ccp(200,200));
this->addChild(label);
CCMenuItemImage *pCloseItem = CCMenuItemImage::create(
"CloseNormal.png","CloseSelected.png",this,menu_selector(SecondScence::popScene));
pCloseItem->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width-20, 20));
CCMenu *pMenu = CCMenu::create(pCloseItem,NULL);
pMenu->setPosition(CCPointZero);
this->addChild(pMenu,1);
return true;
}
void SecondScence::popScene(CCObject* pSender){
CCDirector::sharedDirector()->popScene();
}
Кстати, я использую cocos2dx 2.2 и xcode5, тем консольный печатаем сообщение: Cocos2d : cocos2d: deallocing CCDirector 0x6906f0
сцена означает сцену, которую вы вставляете в стек. (PushScene()) –