• 复选框(CheckBox)

    复选框(CheckBox)

    日常生活中复选框很常见,比如填写问卷时,让我们选一些喜欢的项目,游戏设置中,某一设置是打开还是关闭。只有两种状态的项目经常被设计为复选框。Cocos2d-x 提供 Checkbox 对象支持复选框功能。

    创建一个复选框:

    1. #include "ui/CocosGUI.h"
    2. auto checkbox = CheckBox::create("check_box_normal.png",
    3. "check_box_normal_press.png",
    4. "check_box_active.png",
    5. "check_box_normal_disable.png",
    6. "check_box_active_disable.png");
    7. checkbox->addTouchEventListener([&](Ref* sender, Widget::TouchEventType type){
    8. switch (type)
    9. {
    10. case ui::Widget::TouchEventType::BEGAN:
    11. break;
    12. case ui::Widget::TouchEventType::ENDED:
    13. std::cout << "checkbox 1 clicked" << std::endl;
    14. break;
    15. default:
    16. break;
    17. }
    18. });
    19. this->addChild(checkbox);

    在上面的例子中,我们能看到为一个复选框指定了五张图像,因为复选框有五种状态: 未被选中,被点击,未被选中时不可用,被选中,选中时不可用。这样五种状态的图像依次如下:

    复选框(CheckBox)  - 图1复选框(CheckBox)  - 图2复选框(CheckBox)  - 图3复选框(CheckBox)  - 图4复选框(CheckBox)  - 图5复选框(CheckBox)  - 图6复选框(CheckBox)  - 图7复选框(CheckBox)  - 图8复选框(CheckBox)  - 图9

    在屏幕显示的时候,同一个时刻只能看到一个状态,被选中时状态像这样:

    复选框(CheckBox)  - 图10