Menu的使用

来源:互联网 发布:网络借贷安全 编辑:程序博客网 时间:2024/06/04 01:05

// ①标签菜单项(MenuItemLabel)的使用

auto label = Label::createWithSystemFont("MenuItemLabel", "Marker Felt", 32);

// 创建MenuItemLabel菜单项,第一个参数是菜单项中显示的标签对象,第二个参数是玩家点击时调用的回调函数。

auto labelItem = MenuItemLabel::create(label, CC_CALLBACK_0(HelloWorld::menuPrintCallback

,this));

labelItem->setPosition(visibleSize.width/2, visibleSize.height*0.9);

// ②标签菜单项(MenuItemFont)的使用

MenuItemFont::setFontName("Courier New"); // 设置字体

MenuItemFont::setFontSize(64);  // 设置大小

// 创建MenuItemFont菜单项,第一个参数是菜单项中显示的文字内容,第二个参数是玩家点击时调用的回调函数。

auto fontItem = MenuItemFont::create("MenuItemFont", CC_CALLBACK_0(HelloWorld::

menuPrintCallback,this));

fontItem->setPosition(visibleSize.width/2, visibleSize.height*0.7);    

// ③精灵菜单项(MenuItemSprite)的使用

auto closeNormal = Sprite::create("CloseNormal.png"); // 创建正常状态精灵对象

auto closeSelected = Sprite::create("CloseSelected.png"); // 创建选择状态精灵对象

// 创建MenuItemSprite菜单项,

// 第一个参数是正常状态的精灵对象,第二个参数是选择状态下的精灵对象,第三个参数是回调函数。

auto closeSpriteItem = MenuItemSprite::create(closeNormal, closeSelected, CC_CALLBACK_1

(HelloWorld::menuCloseCallback, this));

closeSpriteItem->setPosition(visibleSize.width/2, visibleSize.height*0.5);

// ④图片菜单项(MenuItemImage)的使用

// 创建MenuItemImage菜单项,

// 第一个参数是正常状态的纹理图片,第二个参数是选择状态下的纹理图片,第三个参数是回调函数。

// 关闭菜单

auto closeItem = MenuItemImage::create("CloseNormal.png","CloseSelected.png",

CC_CALLBACK_1(HelloWorld::menuCloseCallback, this));

closeItem->setPosition(Vec2(origin.x + visibleSize.width - closeItem->getContentSize().width/2,

origin.y+closeItem->getContentSize().height/2);   

// ⑤触发器菜单项(MenuItemToggle)的使用

// 创建MenuItemToggle菜单项,

// 第一个参数是回调函数,第二个参数和第三个参数都是MenuItem对象

auto toggleItem = MenuItemToggle::createWithCallback(CC_CALLBACK_1(HelloWorld::

menuItemToggle,this),MenuItemFont::create("On"), MenuItemFont::create("Off"),NULL);                                               

toggleItem->setPosition(visibleSize.width/2, visibleSize.height*0.1);

// ⑥创建一个菜单(Menu),用来装载各种菜单项

auto menu = Menu::create(labelItem,fontItem,closeSpriteItem,closeItem,toggleItem, NULL);

// 设置菜单项在屏幕的位置

menu->setPosition(Vec2::ZERO);

// 将菜单添加到当前层的子节点

this->addChild(menu);

原创粉丝点击