• 滑动条(Slider)

    滑动条(Slider)

    有时候你想平滑的改变一个值,比如游戏设置中,调整背景音乐的音量,或着你有一个角色,允许用户设置攻击敌人的力量。这种场景最适合使用滑动条,Cocos2d-x 提供 Slider 对象支持滑动条。

    创建滑动条:

    1. #include "ui/CocosGUI.h"
    2. auto slider = Slider::create();
    3. slider->loadBarTexture("Slider_Back.png"); // what the slider looks like
    4. slider->loadSlidBallTextures("SliderNode_Normal.png", "SliderNode_Press.png", "SliderNode_Disable.png");
    5. slider->loadProgressBarTexture("Slider_PressBar.png");
    6. slider->addTouchEventListener([&](Ref* sender, Widget::TouchEventType type){
    7. switch (type)
    8. {
    9. case ui::Widget::TouchEventType::BEGAN:
    10. break;
    11. case ui::Widget::TouchEventType::ENDED:
    12. std::cout << "slider moved" << std::endl;
    13. break;
    14. default:
    15. break;
    16. }
    17. });
    18. this->addChild(slider);

    从上面的例子,可以看出,实现一个滑动条需要提供五张图像,对应滑动条的不同部分不同状态,分别为:滑动条背景,上层进度条,正常显示时的滑动端点,滑动时的滑动端点,不可用时的滑动端点。本次示例的五张图像如下:

    滑动条(Slider)  - 图1滑动条(Slider)  - 图2滑动条(Slider)  - 图3滑动条(Slider)  - 图4滑动条(Slider)  - 图5滑动条(Slider)  - 图6滑动条(Slider)  - 图7滑动条(Slider)  - 图8滑动条(Slider)  - 图9

    在屏幕上一个滑动条看起来是这样的:

    滑动条(Slider)  - 图10