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

[复制链接]
星空 发表于 2019-1-13 10:56:45 | 显示全部楼层 |阅读模式
在手机游戏中,一般都会有类似设置开关这样的按钮,当按钮显示“On”时,按下去功能会被改变功能,并且按钮显示改变为“Off”。在Cocos2d-x中,用CCMenuItemToggle实现这种开关按钮。接下来我们来学习一下它的使用方法。 ) j5 f' W, P$ b/ u3 ?7 @
首先新建一个项目。命名为“ToggleMenuTest”,编译运行起来,编译的速度和电脑配置由关系。
1 [* M/ Z7 z# ~' `6 B5 m- q. h1 o

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

Cocos2d-x使用MenuItemToggle做开关按钮步骤详解
/ l1 U0 ~' S/ \9 k$ T
把我们的项目编译运行起来,然后我们创建一个方法来实现开关的功能。在HelloWorldScene.h里面新建方法。
& h+ C0 S" N1 K, U, H void menuONorOFFCallback(cocos2d::Ref* pSender);
* m) u  Q! r6 e7 B, U1 `8 d, k

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

Cocos2d-x使用MenuItemToggle做开关按钮步骤详解
. X8 {8 L3 }4 C! O: j) l
然后在HelloWorldScene.cpp里实现,这里我们先不写具体的函数功能。然后我们来修改init初始化的代码。
! Z1 _2 Y2 M0 ~创建ON和OFF开关按钮,创建MenuItemToggle菜单并实现回调函数。。
8 n+ b% y/ S$ y4 L6 F9 ]插入的代码段:
) ?, m4 g2 M) s; o& [ auto start = MenuItemFont::create("ON");  //显示为on
! A* r  b2 |+ \auto stop = MenuItemFont::create("OFF");  //显示为off1 u+ o6 ~& s3 s: f9 U% X
auto toggle = MenuItemToggle::createWithCallback(
1 l. \9 ]' i" a8 l/ E3 L, v        CC_CALLBACK_1(HelloWorld::menuONorOFFCallback,this),
7 X6 A5 B6 n6 \- w+ q8 V        start, 1 D- s9 m& A# A( X% _, j4 Y+ @0 J
        stop,
: _  b1 B+ d5 u8 w6 j, Q        NULL);  
6 U! z( Q" T" E3 L; ktoggle->setPosition(Vec2(visibleSize.width/2, visibleSize.height/2));  //设置坐标在屏幕居中 9 A( T& d6 @' M/ ]0 J6 L0 ^
auto menu = Menu::create(toggle,NULL);  
5 [( h- R4 k% z( m% Kmenu->setPosition(Point::ZERO);  
+ [+ `* _- F# E9 Y/ ^addChild(menu); ' u2 F% f  m8 Y2 a; g

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

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

3 P6 S; M2 J; \下面我们来运行看看效果,来张演示图给大家看看。 3 T8 ~0 k4 r- }9 @

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

Cocos2d-x使用MenuItemToggle做开关按钮步骤详解
* V# h! U* I( ]- Q% p
哎...今天够累的,签到来了游戏源码下载...
回复

使用道具 举报

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

本版积分规则