CCControlSwitch是开关按钮,关于控件使用时的一些配置,请参见文章:UI开发之控件类-CCControlButton。以下的演示中出现的key和value代表什么意思,知道的人说一声。
- bool HelloWorld::init()
- {
- bool bRet = false;
- do
- {
- CC_BREAK_IF(! CCLayer::init());
- //参数就不说了,看一下你的资源文件就明白了
- CCControlSwitch * controlSwitch = CCControlSwitch::create(
- CCSprite::create("extensions/switch-mask.png"),
- CCSprite::create("extensions/switch-on.png"),
- CCSprite::create("extensions/switch-off.png"),
- CCSprite::create("extensions/switch-thumb.png"),
- CCLabelTTF::create("On", "Arial-BoldMT", 16),
- CCLabelTTF::create("Off", "Arial-BoldMT", 16));
- //设置位置
- controlSwitch->setPosition(ccp(240,160));
- //这个函数对应初始时,开关的状态是开还是关。
- controlSwitch->setOn(true);
- //这个函数对应开关能否使用。
- controlSwitch->setEnabled(true);
- //添加事件监听
- controlSwitch->addTargetWithActionForControlEvents(this,cccontrol_selector(HelloWorld::valueChanged),
- CCControlEventValueChanged);
- this->addChild(controlSwitch);
- bRet = true;
- } while (0);
- return bRet;
- }
- void HelloWorld::valueChanged(CCObject * pSender,CCControlEvent controlEvent)
- {
- CCControlSwitch * controlSwitch = (CCControlSwitch *)pSender;
- CCLog("click");
- }