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.精灵菜单项( ...
随机推荐
- 观察者模式最佳案例实现[JAVA][原创]
/** * American Stock Exchange market(ASE) has a list of stocks.A stock object has two perspective in ...
- Hibernate配置文件和映射元素解释
象关系的映射是用一个XML文档来说明的.映射文档可以使用工具来生成,如XDoclet,Middlegen和AndroMDA等.下面从一个映射的例子开始讲解映射元素. AD:干货来了,不要等!WOT20 ...
- UVa 10391 (水题 STL) Compound Words
今天下午略感无聊啊,切点水题打发打发时间,=_=|| 把所有字符串插入到一个set中去,然后对于每个字符串S,枚举所有可能的拆分组合S = A + B,看看A和B是否都在set中,是的话说明S就是一个 ...
- HDU 1851 (巴什博奕 SG定理) A Simple Game
这是由n个巴什博奕的游戏合成的组合游戏. 对于一个有m个石子,每次至多取l个的巴什博奕,这个状态的SG函数值为m % (l + 1). 然后根据SG定理,合成游戏的SG函数就是各个子游戏SG函数值的异 ...
- LeetCode Valid Number 有效数字(有限自动机)
题意:判断一个字符串是否是一个合法的数字,包括正负浮点数和整形. 思路:有限自动机可以做,画个图再写程序就可以解决啦,只是实现起来代码的长短而已. 下面取巧来解决,分情况讨论: (1)整数 (2)浮点 ...
- erl0007 - erlang 远程节点连接的两种方式
启动连接:erl -setcookie abc -name xxx@192.168.x.x -remsh xxx@192.168.x.y 退出:ctrl + g,q 参考:http://www.cnb ...
- 一:ZooKeeper简介
一:背景 --->随着互联网技术的高速发展,企业对计算机系统的计算,存储能力要求越来越高,最简单的明证就是出现一些诸如:高并发,海量存储这样的词汇.在这样的背景下, ...
- 一天一点MySQL复习——获取数据库系统时间、变量赋值、变量比较
一.SQL获取系统时间 mysql> select now() from dual; +---------------------+ | now() | +------------------- ...
- HDFS命令行文件操作
Hadoop文件操作命令形式为 hadoop fs -cmd <args> 说明:cmd是具体的文件操作命令,<args>是一组数目可变的参数. Hadoop最常用的文件操作命 ...
- CSS hack——不同浏览器的CSS应对法
1.IE条件注释法: lte表示“小于等于”,“lt”表示“小于”,“gte”表示“大于等于”,“gt”表示“大于”,“!”表示“不等于”. <!--[if IE 6]> <link ...