SwitchControl控制类中的一个开关的发挥了作用似在现实生活中开关

因为控制相对简单,我没有做过多的解释。直接在代码

首先在project文件夹下的Resource文件夹中加入三张图片

在SwitchControl.h加入以下代码

#ifndef   _SwitchControl_H_
#define _SwitchControl_H_ #include "cocos2d.h"
#include "cocos-ext.h"
USING_NS_CC;
USING_NS_CC_EXT; class SwitchControl : public CCLayer
{
public:
static CCScene* scene();
CREATE_FUNC(SwitchControl);
bool init();
void switchValueChanged(CCObject*, CCControlEvent);
}; #endif

在SwitchControl.cpp中加入以下代码

#include "SwitchControl.h"

CCScene* SwitchControl::scene()
{
CCScene* s = CCScene::create();
SwitchControl* layer = SwitchControl::create();
s->addChild(layer);
return s;
} bool SwitchControl::init()
{
CCLayer::init(); //得到窗体的大小
CCSize winSize = CCDirector::sharedDirector()->getWinSize(); //设置ControlSwitch控件打开的文字No"
CCLabelTTF* on = CCLabelTTF::create("ON", "Arial", 16); //设置ControlSwitch控件关闭时的文字"OFF"
CCLabelTTF* off = CCLabelTTF::create("OFF", "Arial", 16); //设置ControlSwitch控件打开的文字的颜色
on->setColor(ccc3(0, 0, 0)); //设置ControlSwitch控件关闭时的颜色
off->setColor(ccc3(0, 0, 0)); //创建ControlSwitch控件
CCControlSwitch* control = CCControlSwitch::create(
CCSprite::create("switch-mask.png"),
CCSprite::create("switch-on.png"),
CCSprite::create("switch-off.png"),
CCSprite::create("switch-thumb.png"),
on,
off); //加入ControlSwitch控件
addChild(control); //设置ControlSwitch控件的位置
control->setPosition(ccp(winSize.width / 2, winSize.height / 2)); // 注冊valuechange消息,当valuechange时。调用switchValueChanged函数
control->addTargetWithActionForControlEvents(this,
cccontrol_selector(SwitchControl::switchValueChanged),
CCControlEventValueChanged); return true;
} void SwitchControl::switchValueChanged(CCObject* sender, CCControlEvent ev)
{
if (ev == CCControlEventValueChanged)
{
CCControlSwitch* control = (CCControlSwitch*)sender;
if (control->isOn())
{
CCLog("Switch if ON");
}
else
{
CCLog("Swith is Off");
}
}
else
{
CCLog("other events");
}
}

运行结果:

演示效果:



版权声明:本文博客原创文章,博客,未经同意,不得转载。

Cocos2d-X在SwitchControl使用的更多相关文章

  1. 小尝试一下 cocos2d

    好奇 cocos2d 到底是怎样一个框架,正好有个项目需要一个游戏框架,所以稍微了解了一下.小结一下了解到的情况. 基本概念 首先呢,因为 cocos2d 是基于 pyglet 做的,你完全可以直接用 ...

  2. 采用cocos2d-x lua 制作数字滚动效果样例

    require "Cocos2d"require "Cocos2dConstants"local testscene = class("testsce ...

  3. Cocos2d 利用继承Draw方法制作可显示三维数据(宠物三维等)的三角形显示面板

    很久没有写博客了,这段时间比较忙,又是搬家又是做自己的项目,还有太多琐碎的事情缠身,好不容易抽出时间把最近自己做的一些简单例子记录一下. 在我的项目中,我需要一个显示面板来显示游戏中的一个三维数据,例 ...

  4. iPhone开发与cocos2d 经验谈

    转CSDN jilongliang : 首先,对于一个完全没有mac开发经验,甚至从没摸过苹果系统的开发人员来说,首先就是要熟悉apple的那一套开发框架(含开发环境IDE.开发框架uikit,还有开 ...

  5. cocos2d学习记录

    视频 - http://www.manew.com/forum-105-3.html一个论坛帖 - http://www.zhihu.com/question/21114802官网 - http:// ...

  6. Android下Cocos2d创建HelloWorld工程

    最近在搭建Cocos2d的环境,结果各种问题,两人弄了一天才能搞好一个环境-! -_-!! 避免大家也可能会遇到我这种情况,所以写一个随笔,让大家也了解下如何搭建吧- 1.环境安装准备 下载 tadp ...

  7. 学生信息管理系统(cocos2d引擎)——数据结构课程设计

    老师手把手教了两天半,看了一下模式,加了几个功能就大功告成了!!! 给我的感想就是全都是指针! 添加图片精灵: CCSprite*  spBG = CCSprite::create("&qu ...

  8. cocos2d触碰例子代码

    // // TestLayer.h // MiniTD // // Created by OnePiece on 12-7-30. // Copyright 2012年 __MyCompanyName ...

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

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

随机推荐

  1. isapi_rewrite运行在.net framework 4.0+iis 6.0环境下404错误解决方案

    今天以前的同事让我帮他上服务器看看,他把页面伪静态之后,出现404错误,为什么会出现这样的问题呢,仔细研究才发现,原因如下: 因为ASP.NET4.0在安装的过程中,已经在IIS6做了一些手脚,让它可 ...

  2. VMware vSphere服务器虚拟化实验十五 vCenter vShield Manager

    VMware vSphere服务器虚拟化实验十五 vCenter vShield Manager VMware  vShield Manager是专为 VMware vCenter Server 集成 ...

  3. STL的一些泛型算法

    源地址:http://blog.csdn.net/byijie/article/details/8142859 从福州大学资料里摘下来的我现在能理解的泛型算法 algorithm min(a,b) 返 ...

  4. [Cocos2d-x]布局与定位

    游戏中,精灵的位置由Position与AnchorPoint同时决定. Scene 锚点 (0,0) 不启用锚点 CCNode锚点 (0,0) 不启用锚点  CCLayer锚点 (0,0) 不启用锚点 ...

  5. winXP JDK由1.8改为1.6

    (1)直接在环境变量中删除配置的相关路径 path的值: C:\Documents and Settings\Administrator>path PATH=C:\Documents and S ...

  6. poj1087(最大流)

    传送门:A Plug for UNIX 题意:有插座用电器和适配器,用电器有插头,适配器本身有一个插孔和插头,它的作用是可以把别的插头插入到适合该适配器插孔的适配器,然后就可以用适配器的插头接到适合的 ...

  7. rm -vf `ls |egrep -v "info_20130826-180233.31764|QueryParser.INFO"`

    > rm -vf `ls |egrep -v "info_20130826-180233.31764|QueryParser.INFO"`

  8. Android ----制作自己的Vendor

    Android源代码使用一个可定制的编译系统来生成 特定的,针对自己硬件平台的Android系统,比方不使用缺省的out/target/prodect/generic文件夹, 本文档简介了这个编译系统 ...

  9. 什么是Spring?Spring是什么?

    Spring概述: Spring是一个开源框架,是为了解决企业应用程序开发复杂性而开发的. 从简单性.可測试性和松耦合的角度而言,不论什么java应用都能够从Spring中受益. 简而言之,Sprin ...

  10. fastdfs storage server的设计与实现

     fastdfs是一个针对互联网应用设计的分布式文件系统.具有架构简单.结构清晰.代码量小等特点. 详细的介绍及架构请參考分布式文件系统FastDFS架构剖析(http://www.program ...