#ifndef __CocoStudioAllKeyPoint__FiveLayer__
#define __CocoStudioAllKeyPoint__FiveLayer__
#include <iostream>
#include "cocos2d.h"
using namespace cocos2d;
class FiveLayer:public Layer{
protected:
virtual bool init();
public:
Sprite * bg;
CREATE_FUNC(FiveLayer);
static Scene * createScene();
void onMenuItemToggle(Ref * sender);
};
#endif /* defined(__CocoStudioAllKeyPoint__FiveLayer__) */
#include "FiveLayer.h"
bool FiveLayer::init(){
if (!Layer::init()) {
return false;
}
//加入三个文字按钮,并且设置自己想要的属性
auto item1 = MenuItemFont::create("白龙");
item1->setName("白龙.png");
item1->setString("小白");
// item1->setPosition(Vec2(400,600));
item1->setFontNameObj("Arial");
item1->setFontSizeObj(50);
item1->setColor(Color3B(255,0,0));
auto item2 = MenuItemFont::create("黑龙");
item2->setName("黑龙.png");
// item2->setPosition(Vec2(300,600));
auto item3 = MenuItemFont::create("红龙");
item3->setName("红龙.png");
// item3->setPosition(Vec2(500,600));
//加入一个开关,并且设置它的位置,将三个按钮绑定到这个开关上
MenuItemToggle * menuItemToggle = MenuItemToggle::createWithCallback(CC_CALLBACK_1(FiveLayer::onMenuItemToggle, this), item1,item2,item3,NULL);
menuItemToggle->setPosition(Vec2(480,600));
//加入一个菜单,把开关加入菜单
auto menu = Menu::create(menuItemToggle,NULL);
menu->setPosition(Vec2(0,0));
this->addChild(menu);
return true;
}
void FiveLayer::onMenuItemToggle(Ref * sender){
MenuItemToggle * toogle = dynamic_cast<MenuItemToggle *>(sender);//把sender强转成MenuItemToggle类型
auto item = toogle->getSelectedItem();
//item 是开关点中的文字按钮
std::string fileName = item->getName();
//通过 item 得到文件名字
bg->setTexture(fileName);
//通过文件名字创建精灵
}
Scene * FiveLayer::createScene(){
auto scene = Scene::create();
auto layer = FiveLayer::create();
scene->addChild(layer);
return scene;
}