弱渣一枚正在学习cocos2dx的基础,C++的基础也很差,所以问题弱鸡请谅解=w=
代码如下
#include “SecondScene.h”
#include “HelloWorldScene.h”
Scene* SecondScene::createScene(){
auto scene = Scene::create();
auto layer = SecondScene::create();
scene->addChild(layer);
return scene;
}
bool SecondScene::init(){
Label* label = Label::create(“HelloWorld”, “Arial”, 40);
label->setPosition(ccp(200, 200));
this->addChild(label);
/添加按钮/
MenuItemImage *pCloseItem = MenuItemImage::create(
“CloseNormal.png”,
“CloseSelect.png”,
this,
menu_selector(SecondScene::popScene)); //在这里有疑问,为什么menu_selector里不能换成Director::getInstance()->popScene;
pCloseItem->setPosition(ccp(Director::getInstance()->getWinSize().width - 20, 20));
Menu* pMenu = Menu::create(pCloseItem, NULL);
pMenu->setPosition(Point(0, 0));
this->addChild(pMenu, 1);
return true;
}
void SecondScene::popScene(Ref* pSender){
//popScene将新场景释放,恢复旧场景的显示
Director::getInstance()->popScene();
}
只是一个简单的切换场景
疑问就是换颜色的地方,为什么必须要写一个popScene函数而不能直接调用Director::getInstance()->popScene
打开memu_selector的定义也不是很能理解…所以希望能讲解一下… 谢谢!