[COCOS2D] Cocos2d-x使用MenuItemToggle做开关按钮步骤详解

[复制链接]
星空 发表于 6 天前 | 显示全部楼层 |阅读模式
在手机游戏中,一般都会有类似设置开关这样的按钮,当按钮显示“On”时,按下去功能会被改变功能,并且按钮显示改变为“Off”。在Cocos2d-x中,用CCMenuItemToggle实现这种开关按钮。接下来我们来学习一下它的使用方法。 / ~' W+ _+ D7 ~. T% m
首先新建一个项目。命名为“ToggleMenuTest”,编译运行起来,编译的速度和电脑配置由关系。- L! o/ _2 e; d/ o5 S$ S

Cocos2d-x使用MenuItemToggle做开关按钮步骤详解

Cocos2d-x使用MenuItemToggle做开关按钮步骤详解
6 T1 N  P' g* ?
把我们的项目编译运行起来,然后我们创建一个方法来实现开关的功能。在HelloWorldScene.h里面新建方法。 ! Q* s7 {0 Z. ]$ {3 N5 u2 m
void menuONorOFFCallback(cocos2d::Ref* pSender); 3 T# u; H5 E" g0 A1 C: U

Cocos2d-x使用MenuItemToggle做开关按钮步骤详解

Cocos2d-x使用MenuItemToggle做开关按钮步骤详解
8 n! Z$ j7 E; }1 A6 c
然后在HelloWorldScene.cpp里实现,这里我们先不写具体的函数功能。然后我们来修改init初始化的代码。 2 q; s8 r6 h3 N2 A
创建ON和OFF开关按钮,创建MenuItemToggle菜单并实现回调函数。。 / J1 Q$ Z2 M, ]& x( B
插入的代码段:
% k6 N, M: L) ]# ` auto start = MenuItemFont::create("ON");  //显示为on
* `; s7 E1 s2 Uauto stop = MenuItemFont::create("OFF");  //显示为off
, @% f( E3 R) {, v9 j3 F5 i' i! kauto toggle = MenuItemToggle::createWithCallback( ; h( Z! M6 p  f& j0 v/ t2 R
        CC_CALLBACK_1(HelloWorld::menuONorOFFCallback,this),
. K$ r, x( \- A  K9 ~( n# `0 e        start,
# r5 ^$ m5 W& G. d$ r: }4 a5 n: n        stop,
# G- w9 h* d$ O1 P7 w& l- R        NULL);  3 ]* H# z% g2 _7 Q
toggle->setPosition(Vec2(visibleSize.width/2, visibleSize.height/2));  //设置坐标在屏幕居中 / ]; B, c, Z* n0 J" z
auto menu = Menu::create(toggle,NULL);  ) B' ?9 B. T; r- v0 t% n% x, b8 m
menu->setPosition(Point::ZERO);  
* n9 b" V6 y, haddChild(menu);
6 }: `4 _3 S. T' z9 f

Cocos2d-x使用MenuItemToggle做开关按钮步骤详解

Cocos2d-x使用MenuItemToggle做开关按钮步骤详解

% M0 Y  R2 r! d1 E下面我们来运行看看效果,来张演示图给大家看看。
0 y# ]' o* |) x/ S* L

Cocos2d-x使用MenuItemToggle做开关按钮步骤详解

Cocos2d-x使用MenuItemToggle做开关按钮步骤详解
3 R0 u* q- V: {0 f3 {7 M
哎...今天够累的,签到来了游戏源码下载...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则