• 按钮(Button)

    按钮(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