// As an example, load config file // XXX: This should be loaded before the Director is initialized, // XXX: but at this point, the director is already initialized Configuration::getInstance()->loadConfigFile("configs/config-example.plist");
// initialize director auto director = Director::getInstance(); auto glview = director->getOpenGLView(); if(!glview) { glview = GLView::create("Cpp Tests"); director->setOpenGLView(glview); }
现在程序进入TestController::TestController(),在这里初始化menu. 学习了c++11的function和匿名函数的用法。还有事件处理的方法。看下菜单项的事件处理: void TestController::menuCallback(Ref * sender){ Director::getInstance()->purgeCachedData(); // get the userdata, it's the index of the menu item clicked auto menuItem = static_cast<MenuItem *>(sender); int idx = menuItem->getLocalZOrder() - 10000; // create the test scene and run it auto scene = g_aTestNames[idx].callback(); if (scene) { scene->runThisTest(); scene->release(); }}