1.要有两张不同状态的图片

2.定义一个MenuItemSprite的实例,把这两张图的Sprite实例放进MenuItemSprite的实例

3.把MenuItemSprite的实例放进Menu实例

(4.暂停按钮的这种的要把MenuItemSprite的实例再放进MenuItemToggle实例中,再把MenuItemToggle实例放进Menu实例中)

5.把Menu实例addChild到层

例子

开始游戏按钮

     auto startNormal = Sprite::create("startNormal.png");
auto startSelected = Sprite::create("startSelected.png");
auto startSpriteItem = MenuItemSprite::create(startNormal, startSelected, CC_CALLBACK_1(StartUp::menuStartCallback, this));
auto menu = Menu::create(startSpriteItem, NULL);
this->addChild(menu);
menu->setPosition(visibleSize.width / , visibleSize.height / );
 void StartUp::menuStartCallback(Ref* pSender)
{
//Director::getInstance()->getEventDispatcher()->removeEventListener(touchListener);
Director::getInstance()->replaceScene(TransitionFade::create(, GameScene::createScene()));
}

暂停按钮

   //加入暂停按钮
auto pause_sp1 = Sprite::create("game_pause_nor.png");
auto pause_sp2 = Sprite::create("game_pause_pressed.png");
auto resume_sp1 = Sprite::create("game_resume_nor.png");
auto resume_sp2 = Sprite::create("game_resume_pressed.png"); auto pauseitem = MenuItemSprite::create(pause_sp1, pause_sp2);
auto resumeitem = MenuItemSprite::create(resume_sp1, resume_sp2);
auto pauseButton = MenuItemToggle::createWithTarget(this, menu_selector(GameScene::pauseButtonCallBack), pauseitem, resumeitem, nullptr);
pauseButton->setAnchorPoint(Vec2(, ));
pauseButton->setPosition(Vec2(size.width / - pauseButton->getContentSize().width, size.height / - pauseButton->getContentSize().height)); //位于左上角 auto menu = Menu::create(pauseButton, nullptr);
menu->setScale(0.2);
addChild(menu, , PAUSE_MENU);
 void GameScene::pauseButtonCallBack(Ref* pSender)
{
//log("press pause button!");
}

关于Cocos2d-x中UI按钮的定义的更多相关文章

  1. iOS开发UI篇—在UIImageView中添加按钮以及Tag的参数说明

    ios开发UI篇—在ImageView中添加按钮以及Tag的参数说明 一.tag参数 一个视图通常都只有一个父视图,多个子视图,在开发中可以通过使用子视图的tag来取出对应的子视图.方法为Viewwi ...

  2. ios开发UI篇—在ImageView中添加按钮以及Tag的参数说明

    ios开发UI篇—在ImageView中添加按钮以及Tag的参数说明 一.tag参数 一个视图通常都只有一个父视图,多个子视图,在开发中可以通过使用子视图的tag来取出对应的子视图.方法为Viewwi ...

  3. Android中UI设计的一些技巧!!!

    出处:http://blog.csdn.net/android_tutor/article/details/5995759 大家好,今天给大家分享的是Android中UI设计的一些技巧,本节内容主要有 ...

  4. Atitit.获取swing ui 按钮控件的id 与名字 与JPDA 调试体系

    Atitit.获取swing ui 按钮控件的id 与名字 与JPDA 调试体系 1. Swing Inspector是一个Java Swing/AWT用户界面分析和调试工具,功能与firebug类似 ...

  5. grootJS ui控件定义

    index13.html <html><head> <title>ui控件定义</title> <script src="jquery- ...

  6. 支持在安卓中UI(View)的刷新功能

     这是一款可以支持在安卓中UI(View)的刷新功能,Android中对View的更新有很多种方式,使用时要区分不同的应用场合.我感觉最要紧的是分清:多线程和双缓冲的使用情况.   现在可以尝试理解下 ...

  7. 点击UserControl中的按钮将值传给winform页面

    源码下载地址:http://download.csdn.net/detail/dora_zhh/7456521 1.如图所示,点击选择按钮弹出用户控件UserControl 2.点击确定按钮,将值传给 ...

  8. 关于在TabBar 中添加按钮,并通过block 或代理在控制器中实现响应

    相信很多朋友会遇到在TabBar中添加按钮,并要求点击按钮能够实现一些功能,但是当我们自定义的时候,怎么才能在控制器中响应?通常我会用代理或者block,block性能更好,建议使用. 自定义TabB ...

  9. 如何修改SpriteBuilder中的按钮禁用启用状态

    按钮的禁用状态和按钮的User Interaction Enabled属性并不相符. 后者设定的是按钮是否参与用户交互. 你不能直接在SpriteBuilder中编译按钮的禁用启用属性.除非你想给按钮 ...

随机推荐

  1. eclipse引入的第三方jar包放到同一个目录下

    相信大家对这个不陌生吧: 使用eclipse,在JAVA项目中导入第三方jar包,然后看到一长串引入jar包信息,如下图: 看着不美观,也不是非常有必要,能不能像图中JRE System Librar ...

  2. django中处理文件上传文件

    1 template模版文件uploadfile.html 特别注意的是,只有当request方法是POST,且发送request的<form>有属性enctype="multi ...

  3. django中cookies和session

    django中cookies和session是两个经常使用的用户认证工具.都是类似于字典的数据类型,都是request的内部属性 cookies的读写方法 cookies读,比如username us ...

  4. CentOS7添加开机启动服务/脚本(延用CentOS6方法)

    一.添加开机自启服务 在centos7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例): systemctl enable jenkins.service #设置jenkins服务为 ...

  5. javascript限定输入textarea输入长度

    <textarea  id="content" onkeyup="limitLength(this.value,'512','content')"> ...

  6. ThinkPHP CURD方法中field方法详解

    导读:ThinkPHP CURD方法的field方法属于模型的连贯操作方法之一,主要目的是标识要返回或者操作的字段,可以用于查询和写入操作. 1.用于查询在查询操作中field方法是使用最频繁的.$M ...

  7. SourceInsight-Symbol not found

    使用SourceInsight查看源代码时,发现点击查看相关类型时,无法关联到其代码,出现 symbol not found, 然而明明在我的头文件有定义的 网上查了一下主要是因为新建工程导入文件后, ...

  8. C# 获取指定目录下所有文件信息

    /// <summary> /// 返回指定目录下所有文件信息 /// </summary> /// <param name="strDirectory&quo ...

  9. 每日英语:New Reason To Get The Kids To Bed On Time

    Going to bed at the same time every night could give your child's brain a boost, a recent study foun ...

  10. js怎么让时间函数的秒数在页面上显示是变化的

    <input type="text" id="showtime" value="" /><script type=&quo ...