zoukankan      html  css  js  c++  java
  • cocos代码研究(16)Widget子类RadioButton学习笔记

    理论基础

    RadioButton是一种特定类型的两状态按钮,它与复选框相似。它可以 和RadioButtonGroup一起使用,形成一个"组"。继承自AbstractCheckButton,AbstractCheckButton继承自Widget。

    代码部分

    void addEventListener (const ccRadioButtonCallback &callback)
    注册一个回调函数, 它将在单选按钮被选中或者取消的时候被调用.

    bool isSelected () const
    查询是否选中复选框。

    void setSelected (bool selected)
    修改复选框的状态 设置True会使复选框变为“选中状态”,否则传False会使复选框变为“未选中状态”

    void loadTextures (const std::string &background, //背景普通状态图片的名字。
    const std::string &backgroundSelected, //背景选择状态图片的名字。
    const std::string &cross, //勾选选中状态图片的名字。
    const std::string &backgroundDisabled, //背景禁用状态图片名字。
    const std::string &frontCrossDisabled, //勾选禁用状态图片名字。
    TextureResType texType=TextureResType::LOCAL) //
    加载所有纹理并初始化一个复选框。

    void loadTextureBackGround (const std::string &backGround, TextureResType type=TextureResType::LOCAL)
    加载背景普通状态纹理

    void loadTextureBackGroundSelected (const std::string &backGroundSelected, TextureResType texType=TextureResType::LOCAL)
    加载背景选中状态纹理的图片

    void loadTextureFrontCross (const std::string &crossTextureName, TextureResType texType=TextureResType::LOCAL)
    加载勾选选中状态的纹理图片

    void loadTextureBackGroundDisabled (const std::string &backGroundDisabled, TextureResType texType=TextureResType::LOCAL)
    加载背景禁用状态纹理的图片

    void loadTextureFrontCrossDisabled (const std::string &frontCrossDisabled, TextureResType texType=TextureResType::LOCAL)
    加载勾选禁用状态的纹理图片

    virtual Size getVirtualRendererSize () const override
    获取虚拟渲染节点的尺寸

    virtual Node * getVirtualRenderer () override
    控件的内部渲染节点。 例如,一个按钮的虚拟渲染节点是它的纹理节点。

    void setZoomScale (float scale)
    当用户按下复选框时,按钮将会缩放到一个比例 最后复选框的缩放值等于(复选框原尺寸+ _zoomScale)

    float getZoomScale () const
    返回一个缩放比例

    Sprite * getRendererBackground () const
    返回背景普通状态的渲染节点

    Sprite * getRendererBackgroundSelected () const
    返回背景选择状态的渲染节点

    Sprite * getRendererFrontCross () const
    返回前景普通状态的渲染节点

    Sprite * getRendererBackgroundDisabled () const
    返回背景禁用状态的渲染节点

    Sprite * getRendererFrontCrossDisabled () const
    返回前景禁用状态的渲染节点

    实例:

            Size widgetSize = _widget->getContentSize();
            
            // Create a radio button group
            _radioButtonGroup = RadioButtonGroup::create();
            _uiLayer->addChild(_radioButtonGroup);
            
            // Create the radio buttons
            static const int NUMBER_OF_BUTTONS = 5;
            startPosX = widgetSize.width / 2.0f - ((NUMBER_OF_BUTTONS - 1) / 2.0f) * BUTTON_WIDTH;
            for(int i = 0; i < NUMBER_OF_BUTTONS; ++i)
            {
                RadioButton* radioButton = RadioButton::create("cocosui/radio_button_off.png", "cocosui/radio_button_on.png");
                float posX = startPosX + BUTTON_WIDTH * i;
                radioButton->setPosition(Vec2(posX, widgetSize.height / 2.0f + 10));
                radioButton->setScale(1.2f);
                _radioButtonGroup->addRadioButton(radioButton);
                _uiLayer->addChild(radioButton);
            }
  • 相关阅读:
    4.Spring系列之Bean的配置1
    3.Spring系列之IOC&DI
    2.Spring系列之HelloWorld
    1.spring系列之简要概述
    SVN 安装与使用
    6.用CXF编写基于Spring的WebService
    5.webService拦截器
    4.CXF所支持的数据类型
    APP消息推送及疑问解答
    VMware安装CentOS
  • 原文地址:https://www.cnblogs.com/damowang/p/4861408.html
Copyright © 2011-2022 走看看