您的位置:首页 > 移动开发 > Cocos引擎

Learning Cocos2d-x for XNA(5)——详解Menu菜单

2013-01-21 21:34 393 查看
菜单的实现,无非就是文字或者图片。从多个实现的方法详细介绍菜单的实现效果。

就像之前介绍的CCLabel元素一样,CCLabel元素更多的时候是实现说明的作用,用于导航性的菜单,更多时候是用CCMenu。

主要的几个Menu相关的元素的继承关系。

MenuItemToggleLayer

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using cocos2d;
using cocos2d.menu_nodes;

namespace LearningCocos2d_xForXNA.Classes
{
class MenuItemToggleLayer:CCLayer
{
public MenuItemToggleLayer()
{
//文字Toggle
CCMenuItemToggle _menuItemToggle1 = CCMenuItemToggle.itemWithTarget(this,
this.MenuItemToggle1Handle,
CCMenuItemFont.itemFromString("On"),
CCMenuItemFont.itemFromString("Off"));

CCMenuItemFont.FontName="Yahei";//中文显示
CCMenuItemToggle _menuItemToggle2 = CCMenuItemToggle.itemWithTarget(this,
this.MenuItemToggle2Handle,
CCMenuItemFont.itemFromString("开"),
CCMenuItemFont.itemFromString("关"));

//图片Toggle
CCMenuItemToggle _menuItemToggle3 = CCMenuItemToggle.itemWithTarget(this,
this.MenuItemToggle3Handle,
CCMenuItemSprite.itemFromNormalSprite(CCSprite.spriteWithFile("img/bg_Sea1Mini"), CCSprite.spriteWithFile("img/bg_Sea1Mini")),
CCMenuItemSprite.itemFromNormalSprite(CCSprite.spriteWithFile("img/bg_Sea2Mini"), CCSprite.spriteWithFile("img/bg_Sea2Mini")));

CCMenu menu = CCMenu.menuWithItems(_menuItemToggle1, _menuItemToggle2, _menuItemToggle3);
menu.alignItemsVertically();
this.addChild(menu);

}

public void MenuItemToggle1Handle(CCObject sender)
{ }

public void MenuItemToggle2Handle(CCObject sender)
{ }

public void MenuItemToggle3Handle(CCObject sender)
{ }
}
}


编译运行,开始状态



点击其中的一个,都会相应地实现切换,点击后效果



还是挺方便实用的,在其基础上,可以变化很多样式,使用户体验更好。发挥想象,打造属于自己的Menu。

本例代码下载

著作权声明:本文由http://www.cnblogs.com/suguoqiang 原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: