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;
}

运行结果:

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

首先在project文件夹下加入一张带有艺术字的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;
}

运行结果:

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

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

程序代码

#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;
}

运行结果:

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

首先在project文件夹下的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", "labelatlasimg.png", 24, 32, '0')
); //加入菜单项
menu->addChild(itemLabelAtlas);
return true;
}

运行结果:

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

首先在project文件夹下的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;
}

运行结果

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

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

程序代码

#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中创建菜单项的更多相关文章

  1. cocos2dx中的菜单项CCMenuItem及其五个子类的使用

    /*CCMenuItem是一个虚基类,因此必须实现它的五个子类之一,再把子类对象赋给父类指针,相当于多态*/ CCMenuItem *fontItem = CCMenuItemFont::create ...

  2. Unity 3D编辑器扩展介绍、教程(一) —— 创建菜单项

    Unity编辑器扩展教程 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 一 Brief Introduct ...

  3. 如何:对 SharePoint 列表项隐藏 ECB 中的菜单项

    可以通过使用功能框架向编辑控制块 (ECB) 菜单添加新的自定义操作.但是,您不能使用此方法进行相反的操作,即隐藏现有的 ECB 菜单项,因为它们是通过使用 ECMAScript(JavaScript ...

  4. Delphi在系统菜单中添加菜单项

    unit dy219; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  5. Unity 3D中的菜单项

    1.File菜单:主要是包含项目和场景的创建.保存以及输出等功能.2.Edit(编辑)菜单:只要包括对场景进行一系列的编辑以及环境设置操作等命令.3.Assets(资源)菜单:掌握资源在Unity中的 ...

  6. mfc 小程序---在系统菜单中添加菜单项

    1建立一个对话框工程:在dlg类里定义一个菜单指针m_pMenu,在对话框OnInitDialog函数里添加代码: m_pMenu=GetSystemMenu(FALSE);//获取系统菜单的指针 m ...

  7. CentOS删除Applications中的菜单项

    有时候会错误的安装一些软件,可能安装被不成功,但是在左上角的Applications菜单中还是会显示出来,让人很不爽. 现在介绍一个删除掉CentOS Applications中菜单项的方法: 1.安 ...

  8. java学习:AWT组件和事件处理的笔记(1)--菜单条,菜单,菜单项

    菜单放在菜单条里,菜单项放在菜单里1.MenuBar    在java.awt包中,负责创建菜单条,即MenuBar的一个实例,便是一个菜单条.    在Frame类中的setMenuBar(Menu ...

  9. WijmoJS 以声明方式添加 Vue 菜单项

    WijmoJS 以声明方式添加 Vue 菜单项 在V2019.0 Update2 的全新版本中,Vue框架下 WijmoJS 的前端UI组件功能得到再度增强. 如今,向wj菜单组件添加项的方法将不限于 ...

随机推荐

  1. C/S模式和BS模式是什么?

    C/S是Client/Server,即客户端/服务器:B/S是Browser/Server,即浏览器/服务器的意思. C/S   (Client/Server)结构,即大家熟知的客户机和服务器结构.它 ...

  2. Cocos2D研究院之CCNode详解(三)

    http://www.xuanyusong.com/archives/950 上一章我们了解了cocos2d的项目路径以及工作原理,这次作者要真刀真枪地讲解代码了,咱们先来看看cocos2d最常用.也 ...

  3. Linux驱动修炼之道-SPI驱动框架源码分析(上)【转】

    转自:http://blog.csdn.net/lanmanck/article/details/6895318 SPI驱动架构,以前用过,不过没这个详细,跟各位一起分享: 来自:http://blo ...

  4. C++文件(夹)选择对话框

    由于各种应用,我们需要调用系统的打开文件对话框或者打开文件夹对话框,或两者兼有.今遇到这个情况已经解决,特写下这篇博文. 1.打开文件对话框常用的方法是使用系统的CFileDialog.这里介绍另外一 ...

  5. css3实现图片划过一束光闪过效果

    该效果在京东里的图片有. .img { display:block; position: relative; width:800px; height:450px; margin:0 auto; } . ...

  6. 使用VMware 管理服务器

    使用VMware 管理服务器 实验室有一台浪潮服务器.师兄只留下了开机用户名和密码,和一个VMware vSphere Client的安装包,就把它托付给了我.就是这样一个方方正正的长方体,只提供了接 ...

  7. HTML,DIV+CSS,js,JQ,UI-WEB前端设计经验

    目前比较全的CSS重设(reset)方法总结   在当今网页设计/开发实践中,使用CSS来为语义化的(X)HTML标记添加样式风格是重要的关键.在设计师们的梦想中都存在着这样的一个完美世界:所有的浏览 ...

  8. HDU 2955 【01背包/小数/概率DP】

    Robberies Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  9. 洛谷——P1143 进制转换

    P1143 进制转换 题目描述 请你编一程序实现两种不同进制之间的数据转换. 输入输出格式 输入格式: 输入数据共有三行,第一行是一个正整数,表示需要转换的数的进制n(2≤n≤16),第二行是一个n进 ...

  10. UBIFS介绍 - MTD网站

    转:http://blog.csdn.net/kickxxx/article/details/6583463 目录(?)[-] Big red note Overview Scalabity Writ ...