首页 > 代码库 > Cocos2d-X中SwitchControl的用法
Cocos2d-X中SwitchControl的用法
SwitchControl控件起到了一个开关的作用类似于现实生活中的开关
由于控件比较简单,我就不做过多的解释,直接上代码
首先在工程目录下的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的用法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。