Cocos2d-X在SwitchControl使用
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使用的更多相关文章
- 小尝试一下 cocos2d
好奇 cocos2d 到底是怎样一个框架,正好有个项目需要一个游戏框架,所以稍微了解了一下.小结一下了解到的情况. 基本概念 首先呢,因为 cocos2d 是基于 pyglet 做的,你完全可以直接用 ...
- 采用cocos2d-x lua 制作数字滚动效果样例
require "Cocos2d"require "Cocos2dConstants"local testscene = class("testsce ...
- Cocos2d 利用继承Draw方法制作可显示三维数据(宠物三维等)的三角形显示面板
很久没有写博客了,这段时间比较忙,又是搬家又是做自己的项目,还有太多琐碎的事情缠身,好不容易抽出时间把最近自己做的一些简单例子记录一下. 在我的项目中,我需要一个显示面板来显示游戏中的一个三维数据,例 ...
- iPhone开发与cocos2d 经验谈
转CSDN jilongliang : 首先,对于一个完全没有mac开发经验,甚至从没摸过苹果系统的开发人员来说,首先就是要熟悉apple的那一套开发框架(含开发环境IDE.开发框架uikit,还有开 ...
- cocos2d学习记录
视频 - http://www.manew.com/forum-105-3.html一个论坛帖 - http://www.zhihu.com/question/21114802官网 - http:// ...
- Android下Cocos2d创建HelloWorld工程
最近在搭建Cocos2d的环境,结果各种问题,两人弄了一天才能搞好一个环境-! -_-!! 避免大家也可能会遇到我这种情况,所以写一个随笔,让大家也了解下如何搭建吧- 1.环境安装准备 下载 tadp ...
- 学生信息管理系统(cocos2d引擎)——数据结构课程设计
老师手把手教了两天半,看了一下模式,加了几个功能就大功告成了!!! 给我的感想就是全都是指针! 添加图片精灵: CCSprite* spBG = CCSprite::create("&qu ...
- cocos2d触碰例子代码
// // TestLayer.h // MiniTD // // Created by OnePiece on 12-7-30. // Copyright 2012年 __MyCompanyName ...
- 如何优化cocos2d程序的内存使用和程序大小
在我完成第一个游戏项目的时候,我深切地意识到"使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰".而我刚开始接触cocos2d的时候,社区里面的人 ...
随机推荐
- Delphi5 update1的序列号
好不容易找到一个: Serial Number: 100-006-1659Key: 6ax0-91x0 ------------------------------------------- 办法2: ...
- ThinkPHP3.2 常量参考
原文:ThinkPHP3.2 常量参考 预定义常量 预定义常量是指系统内置定义好的常量,不会随着环境的变化而变化,包括: URL_COMMON 普通模式 URL (0) URL_PATHINFO PA ...
- Android中九种dialog对话框代码
public class MainActivity extends Activity { private static final int MAX_PROGRESS = 100; private st ...
- HDU 3613 Best Reward 正反两次扩展KMP
题目来源:HDU 3613 Best Reward 题意:每一个字母相应一个权值 将给你的字符串分成两部分 假设一部分是回文 这部分的值就是每一个字母的权值之和 求一种分法使得2部分的和最大 思路:考 ...
- Linux段管理,BSS段,data段,.rodata段,text段
近期在解决一个编译问题时,一直在考虑一个问题,那就是Linux下可执行程序执行时内存是什么状态,是依照什么方式分配内存并执行的.查看了一下资料.就此总结一下,众所周知.linux下内存管理是通过虚存管 ...
- MTK Android Driver:GPIO
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2JrODYxMTEw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...
- JavaScript 中创建对象的方法(读书笔记思维导图)
面向对象(Object-Oriented, OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.而 ECMAScript 中没有类的概念,所以我们可以使用 ...
- 32位Linux文件限制大小
线上程序不断重新启动,查看log发现是进程由于SIGXFSZ信号退出.对过大的文件进行操作的时候会产生此信号,一般仅仅在32位机器上出现,文件限制大小为2G.用lsof查看进程打开的文件,果然有一个文 ...
- 实现TextView 文字排版,分散两端对齐
參考:http://www.cnblogs.com/lcyty/p/3265335.html 方法一:使用HTML TextView textview=(TextView)findViewbyId(R ...
- 在ASP.NET MVC 中获取当前URL、controller、action(转)
URL的获取很简单,ASP.NET通用: [1]获取 完整url (协议名+域名+虚拟目录名+文件名+参数) string url=Request.Url.ToString(); [2]获取 虚拟目录 ...