复选框(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