日常生活中复选框很常见,比如填写问卷时,让我们选一些喜欢的项目,游戏设置中,某一设置是打开还是关闭。

只有两种状态的项目经常被设计为复选框。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); 

复选框三态(触发事件参考按钮):

  Cocos2xd__复选框-LMLPHP  Cocos2xd__复选框-LMLPHP  Cocos2xd__复选框-LMLPHP

08-31 19:04