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"); }