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的更多相关文章

  1. element UI实现表格中添加开关控制按钮

    我使用的是element ui V1.4.3 如下图是我要实现的效果: <template> <div> <el-button type="text" ...

  2. Kali-Linux-美化与优化

    照理说,linux的桌面是不应当存在在这个世界上的,作为一个linux用户,一味捣鼓桌面显得hin-不专业.但是,虚拟机要用到,浏览器要用到--更何况,自己的老婆能不打扮一下么? update:201 ...

  3. Cocos2d—X游戏开发之CCToggle(菜单标签切换)CCControlSwitch(开关切换)

    Cocos2d—X游戏开发之CCToggle(菜单标签切换) 首先继承子CCMenu,是菜单标签中的一种.‘ class CC_DLL CCMenuItemToggle : public CCMenu ...

  4. cocos2d-x3.0创建第一个jsb游戏

    第一步: 最新的cocos2d-x.下载地址https://github.com/cocos2d/cocos2d-x github上最新的引擎,值得注意的是官网上发布的引擎是稳定版.选择哪种就看个人喜 ...

  5. 如何优化cocos2d程序的内存使用和程序大小

    在我完成第一个游戏项目的时候,我深切地意识到"使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰".而我刚开始接触cocos2d的时候,社区里面的人 ...

  6. POJ 1681 (开关问题+高斯消元法)

    题目链接: http://poj.org/problem?id=1681 题目大意:一堆格子,或白或黄.每次可以把一个改变一个格子颜色,其上下左右四个格子颜色也改变.问最后使格子全部变黄,最少需要改变 ...

  7. POJ 1222 (开关问题+高斯消元法)

    题目链接: http://poj.org/problem?id=1222 题目大意:一堆开关,或开或关.每个开关按下后,周围4个方向开关反转.问使最后所有开关都关闭的,开关按法.0表示不按,1表示按. ...

  8. (译)如何优化cocos2d程序的内存使用和程序大小:第二部分(完)

    前言:从上周发布教程的微博反应情况来看,cocos2der们对于游戏的内存问题还是非常关心的.本文是上一篇博文的续,旨在教大家如何减少cocos2d程序的大小. 全文如下: 减少你的程序的大小 把纹理 ...

  9. 【Cocos2d入门教程四】Cocos2d-x菜单篇

    游戏世界多姿多彩,无论多靓丽的游戏,多耐玩的游戏,在与游戏用户交互上的往往是菜单. 上一章我们已经大概了解了导演.节点.层.精灵.这一章以菜单为主题. 菜单(Menu)包含以下内容: 1.精灵菜单项( ...

随机推荐

  1. hibernate学习笔记6--Criteria查询方式、完整小练习(开发步骤)

    一.Criteria查询方式没有sql语了,因此更加面向对象一些.Criteria是一种比HQL更面向对象的查询方式:Criteria的创建方式: Criteria c = s.createCrite ...

  2. JAVA反射技术的使用

    前言 在开发html使用jquery提交post的时候,可以使用jquery遍历from元素里面的input元素实现参数组合,这样就不用手动打参数了,特别是在参数很多的时候,费神费时. 我开发Andr ...

  3. UVa 1608 (分治 中途相遇) Non-boring sequences

    预处理一下每个元素左边和右边最近的相邻元素. 对于一个区间[l, r]和区间内某一个元素,这个元素在这个区间唯一当且仅当左右两边最近的相邻元素不在这个区间内.这样就可以O(1)完成查询. 首先查找整个 ...

  4. POJ 1847 Tram【Floyd】

    题意:给出n个站点,每个站点都有铁路通向其他站点 如果当前要走得路恰好是该站点的开关指向的铁路,则不用扳开关,否则要手动扳动开关,给出起点和终点,问最少需要扳动多少次开关 输入的第一行是n,start ...

  5. Couchbase的web管理员后台 查看缓存提示警告 Warning: Editing of document with size more than 2.5kb is not allowed的解决方法

    这个警告仅仅只会发生在web管理员后台,实际在缓存中的数据是不会有影响的(好像默认单个key对应的缓存大小是20M) 但是有时候我们就是想在web后台里面看看到底保存了什么数据,怎么能突破这个限制呢? ...

  6. UIScrollView 期本使用方法

    UIScrollView 1.   contentOffset 默认CGPointZero,用来设置scrollView的滚动偏移量. // 设置scrollView的滚动偏移量 scrollView ...

  7. 平时学习HTML5及其安全相关的一些站点资源

    http://www.w3.org/ -- HTML5一切标准都来自这里,如果你是发烧级HTML5患者,就读这个http://www.whatwg.org -- 和W3分分合合,最终共同指定HTML5 ...

  8. Edit Control的Enter响应函数

    Edit Control的Enter响应函数   在dialog中添加edit control ,选择“Multi_Line mode”   MFC Class Wizard中添加Virtual Fu ...

  9. rsync同步时报“auth failed on module”错误的可能原因

    关于这个auth失败的问题,有以下可能的情况:   1.密码输入错误: 请再次确认你登录用户的密码无误   2.secrets file格式错误: secrets file的文件格式是  upload ...

  10. php生成 Arduino 12864 汉字内码

    $ch = "你"; $ch = iconv("UTF-8","GB2312",$ch); $xx= sprintf("%X&qu ...