CCControlSwitch 用来处理开关的控制,比如声音,音效等,它的使用也非常方便,如下所示,从testcpp中抠出来的代码
double layer_width = 50;
// Create the switch
CCControlSwitch *switchControl = CCControlSwitch::create
(
CCSprite::create("switch-mask.png"),
// 背景模板
CCSprite::create("switch-on.png"),
// 打开的状态
CCSprite::create("switch-off.png"),
// 关闭的状态
CCSprite::create("switch-thumb.png"),
// 拔动的结点
CCLabelTTF::create("On", "Arial-BoldMT", 16),
// 开的文字描述
CCLabelTTF::create("Off", "Arial-BoldMT", 16)
// 关的文字描述
);
switchControl->setPosition(ccp (layer_width + 10 + switchControl->getContentSize().width / 2, 100));
addChild(switchControl);
switchControl->addTargetWithActionForControlEvents(this, cccontrol_selector(HelloWorld::valueChanged), CCControlEventValueChanged);
// Update the value label
valueChanged(switchControl, CCControlEventValueChanged);
switchControl->setOn(false);
switchControl->setEnabled(true);
效果如下
这里说说坑
2.1.4此控件在win7无法运行,出现opengl错误,此控件在某些真机上无法运行,在某些真机上又可以运行,总之不稳定
2.1.5 此控件在win7下运行正常,但在真机上也有兼容性问题,不建议使用
2.2 版本此问题仍然未解决
因此在正式项目中要使用须谨慎