Cocos2d-X中创建菜单项

Cocos2d-X中创建菜单项,第1张

概述Cocos2d-X中创建菜单的类: CCMenuItemFont:创建纯文本的菜单项 CCMenuItemAtlasFont:创建带有艺术字体的菜单项 CCMenuItemImage:用图片创建菜单项 CCMenuItemLabel:用标签创建菜单项 CCMenuItemSprite:用精灵创建菜单项 CCMenuItemToggle:创建可以来回切换的菜单项如ON/OFF 程序实例:创建一个纯文

Cocos2d-X中创建菜单的类:

CcmenuItemFont:创建纯文本的菜单项

CcmenuItemAtlasFont:创建带有艺术字体的菜单项

CcmenuItemImage:用图片创建菜单项

CcmenuItemLabel:用标签创建菜单项

CcmenuItemSprite:用精灵创建菜单项

CcmenuItemToggle:创建可以来回切换的菜单项如ON/OFF


程序实例:创建一个纯文本菜单

程序代码:

#include "MenuItem.h"CCScene* MenuItem::scene(){    CCScene* scene = CCScene::create();        MenuItem* layer = MenuItem::create();    scene->addChild(layer);    return scene;}bool MenuItem::init(){    //初始化父类层    cclayer::init();    //得到窗口的尺寸    CCSize winSize = CCDirector::sharedDirector()->getWinSize();    //创建一个Menu(看不到效果,Menu只是一个容器)    Ccmenu* menu = Ccmenu::create();    //添加菜单    addChild(menu);    //创建一个只显示文本的菜单项    CcmenuItemFont* itemFont = CcmenuItemFont::create("This is Font");    //添加菜单项    menu->addChild(itemFont);    return true;}

执行结果:


程序实例:创建带用艺术字的菜单项

首先在工程目录下添加一张带有艺术字的png格式图片


添加下面的代码

#include "MenuItem.h"CCScene* MenuItem::scene(){    CCScene* scene = CCScene::create();        MenuItem* layer = MenuItem::create();    scene->addChild(layer);    return scene;}bool MenuItem::init(){    //初始化父类层    cclayer::init();    //得到窗口的尺寸    CCSize winSize = CCDirector::sharedDirector()->getWinSize();    //创建一个Menu(看不到效果,Menu只是一个容器)    Ccmenu* menu = Ccmenu::create();    //添加Menu    addChild(menu);    //创建一个带有艺术字体的菜单    CcmenuItemAtlasFont* itemAtlas = CcmenuItemAtlasFont::create("123456","labelatlasimg.png",24,32,'0');        //添加菜单项    menu->addChild(itemAtlas);    return true;}


执行结果:



程序实例:创建带有图片的菜单项

我使用的是建立工程时程序自带的图片

程序代码

#include "MenuItem.h"CCScene* MenuItem::scene(){    CCScene* scene = CCScene::create();        MenuItem* layer = MenuItem::create();    scene->addChild(layer);    return scene;}bool MenuItem::init(){    //初始化父类层    cclayer::init();    //得到窗口的尺寸    CCSize winSize = CCDirector::sharedDirector()->getWinSize();    //创建一个Menu(看不到效果,Menu只是一个容器)    Ccmenu* menu = Ccmenu::create();    //添加Menu    addChild(menu);    //创建带有图片的菜单项    CcmenuItemImage* itemImage = CcmenuItemImage::create("Closenormal.png","CloseSelected.png");        //添加菜单项    menu->addChild(itemImage);    return true;}

执行结果:



程序实例:用标签创建菜单项

程序代码:

#include "MenuItem.h"CCScene* MenuItem::scene(){    CCScene* scene = CCScene::create();        MenuItem* layer = MenuItem::create();    scene->addChild(layer);    return scene;}bool MenuItem::init(){    //初始化父类层    cclayer::init();    //得到窗口的尺寸    CCSize winSize = CCDirector::sharedDirector()->getWinSize();    //创建一个Menu(看不到效果,Menu只是一个容器)    Ccmenu* menu = Ccmenu::create();    //添加Menu    addChild(menu);    //用标签创建菜单项   CcmenuItemLabel* itemLabelTTF = CcmenuItemLabel::create(			cclabelTTF::create("This is Label TTF item","Arial",36)			);   //添加菜单项目   menu->addChild(itemLabelTTF);    return true;}


执行结果:


程序实例:用标签创建菜单项并且实现彩色文本

首先在工程目录下的Resource文件夹中添加一张png格式的图片


程序代码

#include "MenuItem.h"CCScene* MenuItem::scene(){    CCScene* scene = CCScene::create();        MenuItem* layer = MenuItem::create();    scene->addChild(layer);    return scene;}bool MenuItem::init(){    //初始化父类层    cclayer::init();    //得到窗口的尺寸    CCSize winSize = CCDirector::sharedDirector()->getWinSize();    //创建一个Menu(看不到效果,Menu只是一个容器)    Ccmenu* menu = Ccmenu::create();    //添加Menu    addChild(menu);   //用标签创建菜单项,并且实现显示彩色的文本  	CcmenuItemLabel* itemLabelAtlas = CcmenuItemLabel::create(			cclabelAtlas::create("123456",'0')			);        //添加菜单项    menu->addChild(itemLabelAtlas);    return true;}

执行结果:


程序实例:用标签创建菜单项并且实现彩色文本二

首先在工程目录下的Resource文件夹中添加一个fnt格式的字体文件

程序代码

#include "MenuItem.h"CCScene* MenuItem::scene(){    CCScene* scene = CCScene::create();        MenuItem* layer = MenuItem::create();    scene->addChild(layer);    return scene;}bool MenuItem::init(){    //初始化父类层    cclayer::init();    //得到窗口的尺寸    CCSize winSize = CCDirector::sharedDirector()->getWinSize();    //创建一个Menu(看不到效果,Menu只是一个容器)    Ccmenu* menu = Ccmenu::create();    //添加Menu    addChild(menu);    //用艺术字体创建菜单项    CcmenuItemLabel* itemLabelBMFont = CcmenuItemLabel::create(			cclabelBMFont::create("This is BMFont item","bitmapFontTest.fnt")			);                //添加菜单项		menu->addChild(itemLabelBMFont);    return true;}

执行结果


程序实例:使用精灵创建菜单项

创建精灵使用的是工程自带的图片

程序代码

#include "MenuItem.h"CCScene* MenuItem::scene(){    CCScene* scene = CCScene::create();        MenuItem* layer = MenuItem::create();    scene->addChild(layer);    return scene;}bool MenuItem::init(){    //初始化父类层    cclayer::init();    //得到窗口的尺寸    CCSize winSize = CCDirector::sharedDirector()->getWinSize();    //创建一个Menu(看不到效果,Menu只是一个容器)    Ccmenu* menu = Ccmenu::create();    //添加Menu    addChild(menu);     //用精灵创建菜单项    CcmenuItemSprite* itemSprite = CcmenuItemSprite::create(             CCSprite::create("Closenormal.png"),CCSprite::create("CloseSelected.png"));	    //添加菜单项    menu->addChild(itemSprite);    return true;}

执行结果:



程序实例:创建可以来回切换的菜单项如ON/OFF

程序代码

#include "MenuItem.h"CCScene* MenuItem::scene(){    CCScene* scene = CCScene::create();        MenuItem* layer = MenuItem::create();    scene->addChild(layer);    return scene;}bool MenuItem::init(){    //初始化父类层    cclayer::init();    //得到窗口的尺寸    CCSize winSize = CCDirector::sharedDirector()->getWinSize();    //创建一个Menu(看不到效果,Menu只是一个容器)    Ccmenu* menu = Ccmenu::create();    //添加Menu    addChild(menu);     //创建可以来回切换的菜单    //创建菜单项的选项    CcmenuItem* subItem1 = CcmenuItemFont::create("ON");	CcmenuItem* subItem2 = CcmenuItemFont::create("OFF");	CcmenuItem* subItem3 = CcmenuItemFont::create("ON/OFF");	    //菜单项中添加选项    CcmenuItemToggle* itemToggle = CcmenuItemToggle::create(subItem1);    itemToggle->addSubItem(subItem2);    itemToggle->addSubItem(subItem3);	    //添加菜单项    menu->addChild(itemToggle);    //自动对齐菜单项	menu->alignItemsvertically();    return true;}


执行结果:



总结

以上是内存溢出为你收集整理的Cocos2d-X中创建菜单项全部内容,希望文章能够帮你解决Cocos2d-X中创建菜单项所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1003287.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存