这个东西慢慢在学哦,今天小for来学习CCControlSwitch的使用。
1、 CCControlSwitch
其实CCControlSwitch的使用和前面介绍的控件使用是非常相似的。其资源需要依次放入背景图片、开关开时的图片、开关关时的图片、滑动图片、图片上显示开的文字,图片上显示关的文字。具体如下代码
CCControlSwitch *controlSwitch=CCControlSwitch::create(
CCSprite::create("bg.jpg"),
CCSprite::create("on.png"),
CCSprite::create("off.png"),
CCSprite::create("mark.jpg"),
CCLabelTTF::create("on","Arial-BoldMT",16),
CCLabelTTF::create("off","Arial-BoldMT",16)
);
controlSwitch->setOn(true);
controlSwitch->setPosition(ccp(size.width-100,size.height-100));
this->addChild(controlSwitch);
然后,添加开关被点击时的事件(回调)
controlSwitch->addTargetWithActionForControlEvents(this, cccontrol_selector(HelloWorld::switchCase), CCControlEventValueChanged);
事件函数switchCase和之前记录的menuCloseCallback的写法和位置都是类似的(记得在.h文件中注册哦)
void HelloWorld::switchCase(CCObject* sender,CCControlEvent controlEvent)
{
//ControlSwitch
CCControlSwitch *pSwitch = (CCControlSwitch*)sender;
if(pSwitch->isOn())
{
}else {
}
}
^o^因为没找到好的图片,所以就不贴图了,只是试了试能够实现^o^。
2、 CCControlSlider(类型于Android中的ProgressBar)
CCControlSlider* slider = CCControlSlider::create("bg.jpg", "progress.jpg", "mark.jpg");
slider->setPosition(ccp(100, 200));
/* 设置滑动条的范围*/
slider->setMinimumValue(0);
slider->setMaximumValue(5000);
/* 直接设置滑动条的当前值 */
slider->setValue(3000);
this->addChild(slider);
以上代码就不解释了,上述CCControlSlider是玩家可以滑动的,如果
slider->setTouchEnabled(false);
则不能滑动,像血条这种这样实现。
3、 CCEditBox(输入框)
这个我看了下官方文档,写得太清楚了,记录一个地址就可以了。
CCEditBox官方文档:
http://www.cocos2d-x.org/projects/cocos2d-x/wiki/EditBox、
正文结束,以下都是废话了。
近来遇到一个问题,小for的cocos2d-x很多东西用不起,我想可能是因为我不知道怎么用,也有可能是小for下载的引擎有问题。例如,小for在使用CCEditBox的时候始终会提示未定义的CCEditText(所以这个我没能真正实现),小for打算重新下载一个最新的引擎来试试。各位,你们觉得是这样的不?
另外,那个Android应用项目已经堵起了,写服务器端的几个同学太不给力了,这个时候了一个接口都还没给,小for要在这里埋怨了,唉…o(︶︿︶)o …唉孩子们加油啊,不要放松紧惕啊!