http://blog.csdn.net/zhoujianghai/article/details/8145015
学习cocos2d-x中的菜单主要需要了解:菜单(Ccmenu)和菜单项(CcmenuItem)以及CcmenuItem的具体子类。
a. 下面来学习一下相关的类。
1. Ccmenu
菜单,是cclayer的子类,是一个层(容器),可以往里面添加菜单项。下面是它的类结构图:
Ccmenu默认接受触屏事件的优先级是-128(优先级很高,因为值越小,响应触屏事件的优先级越高),可以通过继承它实现自定义的效果,创建Ccmenu对象的函数:
2. CcmenuItem
菜单项,开发中一般是直接使用它的子类。CcmenuItem有三个直接子类:
CcmenuItemLabel(字符标签菜单)、CcmenuItemSprite(图片菜单)、CcmenuItemToggle(开关菜单)。
下面是CcmenuItem的类结构图:
现在分别来了解一下各个不同的菜单项。
(1) CcmenuItemLabel:使用文字标签创建菜单项
所有支持cclabelProtocol的节点都可以用来创建CcmenuItemLabel,cclabelProtocol是标签的共同接口。cclabelProtocol也有三个直接子类,下面是类结构图:
cclabelTTF:同时也是CCSprite的子类,用来渲染文字标签的,可以指定字体,每次设置字符串内容时都需要重新创建纹理和渲染,性能不好,可以看它的相关源码: