1、定时器
//定时器 scheduleOnce(带一个参数的回调函数、延迟时间(几秒后执行一次)、键(用于删除的标识))
//CC_CALLBACK_1(调用的函数, 对象)
this->scheduleOnce(CC_CALLBACK_1(CGameLogo::chanceScene,this), 0.5, "chanceScene");
2、创建合图精灵
//精灵帧缓存池(单例)
SpriteFrameCache* pCache = SpriteFrameCache::getInstance();
//从合图plist文件路径中添加精灵帧
pCache->addSpriteFramesWithFile("Image/GameMenu.plist");
//法1:通过精灵帧名字创建背景图
Sprite* pBg = Sprite::createWithSpriteFrameName("Background.png");
//法2:通过精灵帧创建背景图
//通过缓存池pCache拿到该精灵帧,存在pFrame里面
SpriteFrame* pFrame = pCache->getSpriteFrameByName("Background.png");
Sprite* pBg = Sprite::createWithSpriteFrame(pFrame);
//设置背景图的位置与挂载
pBg->setAnchorPoint(Vec2(0, 0));
this->addChild(pBg,0);
3、创建菜单按钮(合图)
MenuItemImage* m_pStartButton;
//创建一个空菜单按钮对象
m_pStartButton = MenuItemImage::create("","",CC_CALLBACK_1(CGameMenu::onBtnEvent,this)); //创建空按钮
//设置按钮图片和位置
m_pStartButton->setNormalSpriteFrame(pCache->getSpriteFrameByName("StartNormal.png")); //通过图片调用接口设置精灵帧
m_pStartButton->setSelectedSpriteFrame(pCache->getSpriteFrameByName("StartSelected.png"));
m_pStartButton->setPosition(Vec2(160, 320));
//把所有的菜单按钮放入菜单城
auto menu = Menu::create(m_pStartButton,nullptr);
4、菜单城(单图)
//菜单按钮
auto closeItem = MenuItemImage::create("CloseNormal.png", "CloseSelected.png", CC_CALLBACK_1(HelloWorld::menuCloseCallback, this)); //设置回调函数,一个参数CC_CALLBACK_1
//设置相对于菜单城的位置
float x = origin.x + visibleSize.width - closeItem->getContentSize().width / 2;
float y = origin.y + closeItem->getContentSize().height / 2;
closeItem->setPosition(Vec2(x, y));
//菜单城
auto menu = Menu::create(closeItem, NULL); //把按钮放进菜单城
menu->setPosition(Vec2::ZERO); //设置菜单城位置(0,0)
this->addChild(menu, 1); //将菜单城统一添加进场景