cocos2d-x3.2 使用开关控制按钮 ControlSwitch
ContolSwitch
控件起到了一个开关的作用类似于现实生活中的开关,直接上代码:
.h文件
- //
- // SwitchBtnScene.h
- // LSWGameIOS
- //
- // Created by lsw on 14-10-17.
- //
- //
- #ifndef LSWGameIOS_SwitchBtnScene_h
- #define LSWGameIOS_SwitchBtnScene_h
- #include "cocos2d.h"
- #include "cocos-ext.h"
- class SwitchBtnScene : public cocos2d::Layer
- {
- public:
- static cocos2d::Scene *createScene();
- bool init();
- CREATE_FUNC(SwitchBtnScene);
- void valueChanged(cocos2d::Ref *sender, cocos2d::extension::Control::EventType evt);
- };
- #endif
.cpp文件
- //
- // SwitchBtnScene.cpp
- // LSWGameIOS
- //
- // Created by lsw on 14-10-17.
- //
- //
- #include "SwitchBtnScene.h"
- #include "GUI/CCControlExtension/CCControlSwitch.h"
- USING_NS_CC;
- USING_NS_CC_EXT;
- Scene *SwitchBtnScene::createScene()
- {
- auto scene = Scene::create();
- auto layer = SwitchBtnScene::create();
- scene->addChild(layer);
- return scene;
- }
- bool SwitchBtnScene::init()
- {
- if (!Layer::init())
- {
- return false;
- }
- auto winSize = Director::getInstance()->getWinSize();
- auto onLabel = Label::createWithSystemFont("on", "Arail", 20);
- auto offLabel = Label::createWithSystemFont("off", "Arail", 20);
- onLabel->setColor(Color3B(0, 0, 0));
- offLabel->setColor(Color3B(0, 0, 0));
- auto maskSprite = Sprite::create("switchButton/switchGreen.png");
- auto onSprite = Sprite::create("switchButton/switchGreen.png");
- auto offSprite = Sprite::create("switchButton/switchRed.png");
- auto thumbSprite = Sprite::create("switchButton/switchBtn.png");
- //设置按钮的截取范围 开关图片和显示文字以及按钮
- ControlSwitch *switchBtn = ControlSwitch::create(maskSprite, onSprite, offSprite, thumbSprite, onLabel, offLabel);
- addChild(switchBtn);
- switchBtn->setPosition(Vec2(winSize.width/2, winSize.height/2));
- //设置监听事件
- switchBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(SwitchBtnScene::valueChanged), Control::EventType::VALUE_CHANGED);
- return true;
- }
- void SwitchBtnScene::valueChanged(Ref *sender, Control::EventType evt)
- {
- if (evt == Control::EventType::VALUE_CHANGED)
- {
- ControlSwitch *btn = (ControlSwitch *)sender;
- if (btn->isOn())
- {
- CCLOG("btn is on");
- }
- else
- {
- CCLOG("btn is off");
- }
- }
- else
- {
- CCLOG("is other state");
- }
- }
cocos2d-x3.2 使用开关控制按钮 ControlSwitch的更多相关文章
- element UI实现表格中添加开关控制按钮
我使用的是element ui V1.4.3 如下图是我要实现的效果: <template> <div> <el-button type="text" ...
- Kali-Linux-美化与优化
照理说,linux的桌面是不应当存在在这个世界上的,作为一个linux用户,一味捣鼓桌面显得hin-不专业.但是,虚拟机要用到,浏览器要用到--更何况,自己的老婆能不打扮一下么? update:201 ...
- Cocos2d—X游戏开发之CCToggle(菜单标签切换)CCControlSwitch(开关切换)
Cocos2d—X游戏开发之CCToggle(菜单标签切换) 首先继承子CCMenu,是菜单标签中的一种.‘ class CC_DLL CCMenuItemToggle : public CCMenu ...
- cocos2d-x3.0创建第一个jsb游戏
第一步: 最新的cocos2d-x.下载地址https://github.com/cocos2d/cocos2d-x github上最新的引擎,值得注意的是官网上发布的引擎是稳定版.选择哪种就看个人喜 ...
- 如何优化cocos2d程序的内存使用和程序大小
在我完成第一个游戏项目的时候,我深切地意识到"使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰".而我刚开始接触cocos2d的时候,社区里面的人 ...
- POJ 1681 (开关问题+高斯消元法)
题目链接: http://poj.org/problem?id=1681 题目大意:一堆格子,或白或黄.每次可以把一个改变一个格子颜色,其上下左右四个格子颜色也改变.问最后使格子全部变黄,最少需要改变 ...
- POJ 1222 (开关问题+高斯消元法)
题目链接: http://poj.org/problem?id=1222 题目大意:一堆开关,或开或关.每个开关按下后,周围4个方向开关反转.问使最后所有开关都关闭的,开关按法.0表示不按,1表示按. ...
- (译)如何优化cocos2d程序的内存使用和程序大小:第二部分(完)
前言:从上周发布教程的微博反应情况来看,cocos2der们对于游戏的内存问题还是非常关心的.本文是上一篇博文的续,旨在教大家如何减少cocos2d程序的大小. 全文如下: 减少你的程序的大小 把纹理 ...
- 【Cocos2d入门教程四】Cocos2d-x菜单篇
游戏世界多姿多彩,无论多靓丽的游戏,多耐玩的游戏,在与游戏用户交互上的往往是菜单. 上一章我们已经大概了解了导演.节点.层.精灵.这一章以菜单为主题. 菜单(Menu)包含以下内容: 1.精灵菜单项( ...
随机推荐
- ubuntu 安装 rabbitmq-server
Rabbitmq 是用 erlang 语言写的,所以我们需要安装 Erlang,安装 erlang 又需要安装 python 与 simplejson,所以我们从python开始: 1.安装 pyth ...
- Remember that ordinal parameters are 1-based!
问题发生的原因是:hql语句里不需要参数,却添加了一个参数,删掉添加参数的语句就可以了!
- C实现类封装、继承、多态
1. 概述 C语言是一种面向过程的程序设计语言,而C++是在C语言基础上衍生来了的面向对象的语言,实际上,很多C++实现的底层是用C语言实现的,如在Visual C++中的Interface其实就是 ...
- 如何使用USB安装XenServer 6.x
在XenServer 5.6以前我们能够很容易的通过一些工具,直接制作USB安装介质,然后快速安装XenServer,但是我们发现,到XenServer6.0以后,通过工具直接制作的XenServer ...
- java基础:数据类型
一:基本数据类型 (1):整数类型 byte,short,int,long (2):浮点类型 float , double (3):布尔类型 boolean 注意: long 类型的变量后面要 ...
- HDU 5340 Three Palindromes (Manacher)
题意: 判断是否能将字符串S分成三段非空回文串. 思路: 先预处理出前缀回文串和后缀回文串的位置,将位置分别装入两个集合中,O(n). 针对每个前缀回文串的终点位置,挑出不相交的后缀回文串,对中间那段 ...
- 【量化】docker
查看docker docker ps docker ps -a 删除docker docker stop 8809752ca95a docker rm 8809752ca95a 打包fly cd ~/ ...
- php设计模式之观察者模式
观察者模式:能够更便利地创建查看目标对象状态的对象,并且提供与核心对象非耦合的指定功能性. 利用这种模式可以方便地创建一个对象(观察者),其可以用来“监视”另一个对象(被观察者)的状态.这样,就可以在 ...
- PS常用
一.文字和背景居中 1.按Ctrl+A或用矩形框选中所有 2.按选择工具->在工具属性栏里面会显示6种方向的对齐方式 二.画准确铺助线 1.视图->新建参考线->输入数值既可
- Android RecyclerView使用详解(三)
在上一篇(RecyclerView使用详解(二))文章中介绍了RecyclerView的多Item布局实现,接下来要来讲讲RecyclerView的Cursor实现,相较于之前的实现,Cursor有更 ...