日常生活中复选框很常见,比如填写问卷时,让我们选一些喜欢的项目,游戏设置中,某一设置是打开还是关闭。
只有两种状态的项目经常被设计为复选框。Cocos2d-x 提供 Checkbox 对象支持复选框功能。
创建一个复选框:
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);
复选框三态(触发事件参考按钮):