MenuItemToggle
2014-09-17 16:50
351 查看
#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;
}
#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;
}
相关文章推荐
- cocos2d-x 切换两个菜单项 MenuItemToggle
- MenuItemToggle的使用
- cocos2d-x ——菜单层(CCMenuItemToggle)五
- cocos2d-x 切换两个菜单项 不用MenuItemToggle
- CCMenuItemToggle的使用
- CCMenuItemToggle的使用
- MenuItemToggle的使用
- 1.cocos2dx之Menu(CCMenuItemFont,CCMenuItemImage,CCMenuItemLabel,CCMenuItemSprite,CCMenuItemToggle)
- MenuItemToggle
- cocos2d-x 开关按钮 三态按钮 的实现 CCMenuItemToggle
- cocos2dx-CCTableView滚动列表 之CCMenuItemToggle 多选实现
- MenuItemToggle用法
- 菜单的创建之CCMenuItemLabel与CCMenuItemToggle(开关按钮) 实现良种选择状态的切换
- 1.cocos2dx它Menu(CCMenuItemFont,CCMenuItemImage,CCMenuItemLabel,CCMenuItemSprite,CCMenuItemToggle)
- cocos2d-x 开关按钮 三态按钮 的实现 CCMenuItemToggle
- 用cocos2dx3.1的MenuItemToggle写一个会跳动音乐开关按钮
- CCMenuItemToggle
- cocos2d-x之-CCMenuItemToggle使用方法
- CCMenuItemToggle实现选中的效果
- All menu item text is invisible in Adobe Reader