首页 > 其他 > 详细

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

时间:2014-11-08 11:59:08      阅读:251      评论:0      收藏:0      [点我收藏+]

1.CCMenu继承自CClayer,本质是一个图层,但是它与图层又有不同的地方,

2.CCMenuItem菜单项是一个虚基类,要想使用它需要实现它的五个子类中的某一个

3.菜单项的五个子类:

CCMenuItemFont

CCMenuItemImage

CCMenuItemLabel

CCMenuItemSprite

CCMenuItemToggle

4.菜单项相对于CCLabel的高级之处在于它有回调函数(menu_seletor),可以实现响应点触事件

5.CCMenu坐标系的默认原点在屏幕中心,且它的大小和屏幕一样大,如果需要设置某个菜单项的特定位置,可以先设置CCMenu的坐标原点为GL坐标系的原点,即屏幕的左下角.menu->setPosition(CCPointZero);

6.菜单项的创建:

第一种创建方式:

CCMenuItemFont *fontItem=CCMenuItemFont::create("this is a fontItem",menu_selector(T11CCMenu::menuCallBack));//一个参数是菜单项要显示的内容,第二个参数是菜单项点触事件的响应回调函数.这个回调函数是自己实现的.

第二种创建方式:

CCMenuItemFont *fontItem=CCMenuItemFont::create("this is a fontItem");

fontItem->setTarget(this,T11CCMenu::menuCallBack);//第一个参数是要响应的对象,第二个参数是要响应的回调函数,这是为了防止一行写不下,而分开的.

7.菜单的创建方式:

第一种创建方式:

CCMenu *menu=CCMenu::create(fontItem,labelItem,...NULL);//用以及存在的菜单项创建菜单,且是变参的,必须以NULL结尾

第二种创建方式:

CCMenu *menu=CCMenu::create();//创建一个空的菜单

menu->addchild(fontItem);

menu->addchild(labelItem);//然后添加菜单项,相对于子节点

8.多个子菜单项的排列方式:

a.垂直排列:menu->alignItemsVertically();

menu->alignItemsVerticallyWithPadding(50);

b.水平排列:menu->alignItemsHorizontally();

带间隔的排列:menu->alignItemsHorizontallyWithPadding(30);//每两个菜单项之间间隔30

 

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

原文:http://www.cnblogs.com/ttss/p/4082950.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!