前端之家收集整理的这篇文章主要介绍了
cocoStudio: Button三种状态切换,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们在使用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;
}
}