1、在cocoStudio工具中,可以直接在Button中放一张图片,这样就成为
了一个带文字的按钮。
2、
但是有时候,有些按钮需要正常状态,选中状态,禁止状态在不同状态下,需要
显示不同的文字图片,我们可以在点击后通过获取按钮上的ImageView控件,
然后调用ImageView::loadTexture方法,改变文字图片,但是这样感觉很不方便,
其实Button的三种状态,内部是通过三个CCSprite*或者CCScale9Sprite在不同状态下
显示不同的CCSprite实现的,那么我们可以获取这三个CCSprite,然后在不同状态下
对应的CCSprite添加不同的文字图片,就可以实现我们上面说的效果。
CCNode* _buttonNormalRenderer; -- 正常
CCNode* _buttonClickedRenderer; -- 按下
CCNode* _buttonDisableRenderer; -- 禁止
//add 新增的方法,我们可以把这三个方法导入到lua中使用。
CCNode* Button::getNormalNode()
{
return _buttonNormalRenderer;
}
CCNode* Button::getSelectedNode()
{
return _buttonClickedRenderer;
}
CCNode* Button::getDisableNode()
{
return _buttonDisableRenderer;
}
了一个带文字的按钮。
2、
但是有时候,有些按钮需要正常状态,选中状态,禁止状态在不同状态下,需要
显示不同的文字图片,我们可以在点击后通过获取按钮上的ImageView控件,
然后调用ImageView::loadTexture方法,改变文字图片,但是这样感觉很不方便,
其实Button的三种状态,内部是通过三个CCSprite*或者CCScale9Sprite在不同状态下
显示不同的CCSprite实现的,那么我们可以获取这三个CCSprite,然后在不同状态下
对应的CCSprite添加不同的文字图片,就可以实现我们上面说的效果。
CCNode* _buttonNormalRenderer; -- 正常
CCNode* _buttonClickedRenderer; -- 按下
CCNode* _buttonDisableRenderer; -- 禁止
//add 新增的方法,我们可以把这三个方法导入到lua中使用。
CCNode* Button::getNormalNode()
{
return _buttonNormalRenderer;
}
CCNode* Button::getSelectedNode()
{
return _buttonClickedRenderer;
}
CCNode* Button::getDisableNode()
{
return _buttonDisableRenderer;
}