首页 > 代码库 > Cocos2d-x cocostudio UIButton控件setEnabled(false)方法失效解决办法

Cocos2d-x cocostudio UIButton控件setEnabled(false)方法失效解决办法

1、UIbutton按钮有三个状态,一个是正常状态、一个是按下状态、另一个是禁用状态,当我们在Cocostudio编辑器上设置好我们的三个状态的图片时候,我们在我们的项目中使用setEnabled(false);方法的时候,发现UIbutton消失了,解决这样问题的办法如下:

①进入UIwidget.cpp

找到visit();方法,这里我们需要修改visit();方法,去掉if判断

结果如下:

void Widget::visit()
{
     CCNode::visit();
}

修改Widget::setEnable()方法,只需要添加一行代码就可以了,如下

void Widget::setEnabled(bool enabled)
{
    _enabled = enabled;
    if(_widgetChildren && _widgetChildren->count() > 0)
    {
        CCObject* child;
        CCARRAY_FOREACH(_widgetChildren, child)
        {
            ((Widget*)child)->setEnabled(enabled);
        }
    }
setBright( enabled );//增加此行
}

Cocos2d-x cocostudio UIButton控件setEnabled(false)方法失效解决办法