文本菜单类menuitemfont它的其中一个创建函数create定义如下
文本菜单类menuitematlasfont是基于图片集的文本菜单项它的其中一个创建函数create定义如下
这次我们会通过一个实例介绍一下文本菜单的使用这个实例如下图所示其中菜单start是使用menuitemfont实现的菜单help是使用menuitematlasfont实现的。

下面我们看看helloworldscene.cpp中init函数如下
上述代码第①和②行是设置文本菜单的文本字体和字体大小。第③行代码是创建menuitemfont菜单项对象它是一个一般文本菜单create是函数的第一个参数是菜单项的文本内容第二个参数是点击菜单项回调的函数指针。其中cc_callback_1宏是定义一个回调函数并函数与对象绑定在一起1表示这个函数有一个输出参数helloworld::menuitem1callback是函数指针this代表函数所在的对象。
helloworld::menuitem1callback需要在helloworld.h头文件中声明helloworld.h头文件代码如下
回调函数代码如下函数中的参数是菜单项menuitem的实例。
helloworldscene.cpp中init函数中第④行代码是创建一个menuitematlasfont菜单项对象这种菜单项是基于图片集的菜单项。menuitematlasfont需要将图片集放到资源目录resources下。在本例中我们是将所有的图片都放到一个resources下的menu目录中所以create函数的第二个参数是"menu/tuffy_bold_italic-charmap.png"要求带有menu路径。
还有第⑤行代码menu* mn = menu::create(item1, null)是创建菜单对象把之前创建的菜单项添加到菜单中create函数中有是这些菜单项的数组最后要用null结束。第⑥行代码mn->alignitemsvertically()是设置菜单项垂直对齐。第⑦行代码是this->addchild(mn,1,2)是把菜单对象添加到当前层中。
、
更多内容请关注最新cocos图书《cocos2d-x实战 c++卷》
欢迎加入cocos2d-x技术讨论群257760386
《cocos2d-x实战 c++卷》现已上线各大商店均已开售
《cocos2d-x实战 c++卷》源码及样章下载地址
欢迎关注智捷ios课堂微信公共平台