日常生活中复选框很常见,比如填写问卷时,让我们选一些喜欢的项目,游戏设置中,某一设置是打开还是关闭。
只有两种状态的项目经常被设计为复选框。Cocos2d-x 提供 Checkbox 对象支持复选框功能。
在操作的时候要有头文件包含:#include "ui/CocosGUI.h"。
创建一个复选框:
auto myCheckBox = ui::CheckBox::create("checkBox1.png", "checkBox2.png");
myCheckBox->setPosition(Vect(visibleSize.width / 2, visibleSize.height / 2));
this->addChild(myCheckBox);
为复选框添加事件:
myCheckBox->addTouchEventListener([](Ref* pSender, ui::Widget::TouchEventType type)
{
switch (type)
{
case ui::Widget::TouchEventType::BEGAN: // 按钮按下
cocos2d::log("ui::Widget::TouchEventType::BEGAN");
break;
case ui::Widget::TouchEventType::MOVED: // 按钮按下并移动
cocos2d::log("ui::Widget::TouchEventType::MOVED");
break;
case ui::Widget::TouchEventType::ENDED: // 结束按钮按下
cocos2d::log("ui::Widget::TouchEventType::ENDED");
break;
case ui::Widget::TouchEventType::CANCELED: // 按钮中断
cocos2d::log("ui::Widget::TouchEventType::CANCELED");
break;
default:
break;
}
});
这和按钮事件极其相似!
禁用复选框:
myCheckBox->setEnabled(false);
复选框三态(触发事件参考按钮):