加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocoStudio: Button三种状态切换

发布时间:2020-12-14 21:32:04 所属栏目:百科 来源:网络整理
导读:我们在使用cocoStudio工具时,按钮控件Button对应的资源有三种状态,我们可以分别针对三种状态设置不同的图片。然后在程序中通过方法显示为不同的状态。1、初始状态:Normal状态bool Widget::init(){ if (CCNode::init()) { setBright(true); } return false
我们在使用cocoStudio工具时,按钮控件Button对应的资源有三种状态,
我们可以分别针对三种状态设置不同的图片。然后在程序中通过方法显示
为不同的状态。

1、初始状态:Normal状态
bool Widget::init()
{
    if (CCNode::init())
    {
        setBright(true);
    }
    return false;
}
2、
/*
Button切换到Disable状态(禁止状态),_bright默认为真,
可以调用setBright(false)把Button切换到Disable状态。
*/
void Widget::setBright(bool bright)
{
    _bright = bright;
    if (_bright)
    {
        _brightStyle = BRIGHT_NONE;
        setBrightStyle(BRIGHT_NORMAL);
    }
    else
    {
        onPressStateChangedToDisabled();
    }
}

3、
--切换到Pressed状态,即按下状态
void Widget::setFocused(bool fucos)
{
    if (fucos == _focus)
    {
        return;
    }
    _focus = fucos;
    if (_bright) //默认为true
    {
        if (_focus) 
        {
	    //如果为true,则调用setBrightStyle函数,最终调用
	    //onPressStateChangedToPressed方法切换到Pressed状态。
            setBrightStyle(BRIGHT_HIGHLIGHT);
        }
        else
        {
            setBrightStyle(BRIGHT_NORMAL);
        }
    }
    else 
    {
	//如果_bright为false,则直接切换到Disabled状态
        onPressStateChangedToDisabled();
    }
}

void Widget::setBrightStyle(BrightStyle style)
{
    if (_brightStyle == style)
    {
        return;
    }
    _brightStyle = style;
    switch (_brightStyle)
    {
        case BRIGHT_NORMAL:
            onPressStateChangedToNormal();
            break;
        case BRIGHT_HIGHLIGHT:
            onPressStateChangedToPressed();
            break;
        default:
            break;
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读