按钮(Button)

按钮是什么,好像没有必要解释,我们都知道这东西是用来点击的,点击后使我们的游戏产生一些变化,比如更改了场景,触发了动作等等。按钮会拦截点击事件,事件触发时调用事先定义好的回调函数。按钮有一个正常状态,一个选择状态,还有一个不可点击状态,按钮的外观可以根据这三个状态而改变。Cocos2d-x 提供 Button 对象支持按钮功能,创建一个按钮并定义一个回调函数很简单,记得在操作的时候要有头文件包含: #include "ui/CocosGUI.h"

  1. auto button = Button::create("normal_image.png", "selected_image.png", "disabled_image.png");
  2. button->setTitleText("Button Text");
  3. button->addTouchEventListener([&](Ref* sender, Widget::TouchEventType type){
  4. switch (type)
  5. {
  6. case ui::Widget::TouchEventType::BEGAN:
  7. break;
  8. case ui::Widget::TouchEventType::ENDED:
  9. std::cout << "Button 1 clicked" << std::endl;
  10. break;
  11. default:
  12. break;
  13. }
  14. });
  15. this->addChild(button);

可以看到,我们为按钮的每个状态都指定了一个 .png 图像:

按钮(Button)  - 图1按钮(Button)  - 图2按钮(Button)  - 图3按钮(Button)  - 图4按钮(Button)  - 图5

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

按钮(Button)  - 图6