理论基础
表示一个按钮组件。 按钮可以被按下,或者点击, 并且在按下或者点击之后,可以由用户指定一个动作来执行,继承自 Widget。
代码部分
static Button * create ()
创建一个空的按钮。
static Button * create (const std::string &normalImage, //正常状态纹理的名字。
const std::string &selectedImage="", //选中状态纹理名称。
const std::string &disableImage="", //禁用状态纹理的名字。
TextureResType texType=TextureResType::LOCAL)
使用自定义的纹理创建一个按钮。
void loadTextures (const std::string &normal,
const std::string &selected, const std::string &disabled="",
TextureResType texType=TextureResType::LOCAL)
加载按钮的纹理。
//跟纹理有关
void loadTextureNormal (const std::string &normal,
TextureResType texType=TextureResType::LOCAL)
加载按钮正常状态的纹理。
void loadTexturePressed (const std::string &selected,
TextureResType texType=TextureResType::LOCAL)
加载按钮选中状态纹理。
void loadTextureDisabled (const std::string &disabled,
TextureResType texType=TextureResType::LOCAL)
加载按钮禁用状态的纹理。
//和按钮文字有关
void setTitleText (const std::string &text)
改变按钮的标题的内容。
const std::string getTitleText () const
查询按钮标题内容。
void setTitleColor (const Color3B &color)
改变按钮的标题的颜色。
Color3B getTitleColor () const
查询按钮标题的颜色。
void setTitleFontSize (float size)
改变按钮的标题的字体大小
float getTitleFontSize () const
查询按钮标题的字体大小
void setTitleFontName (const std::string &fontName)
改变按钮的标题的字体名称
const std::string getTitleFontName () const
查询按钮的标题的字体名称
void setTitleAlignment (TextHAlignment hAlignment)
设置标题的文本的水平对齐方式
//和九宫格技术有关
void setCapInsets (const Rect &capInsets)
设置按钮的capInsets。 这个capInset影响按钮所有的九宫格渲染器,只有在调用“setScale9Enabled(true)”后才生效
void setCapInsetsNormalRenderer (const Rect &capInsets)
设置按钮的capInsets,只有正常状态的九宫格渲染器才会受到影响。
const Rect & getCapInsetsNormalRenderer () const
返回正常状态的九宫格渲染器的capInsets。
void setCapInsetsPressedRenderer (const Rect &capInsets)
设置按钮的capInsets,只有按下状态的九宫格渲染器会受到影响。
const Rect & getCapInsetsPressedRenderer () const
返回按下状态的九宫格渲染器的capInsets
void setCapInsetsDisabledRenderer (const Rect &capInsets)
设置按钮的capInsets,只有禁用状态的九宫格渲染器会受到影响。
const Rect & getCapInsetsDisabledRenderer () const
返回禁用状态的九宫格渲染器的capInsets。
virtual void setScale9Enabled (bool enable)
启用九宫格渲染
bool isScale9Enabled () const
查询按钮是否使用scale9渲染
void setPressedActionEnabled (bool enabled)
设置启用按钮被按下时的缩放操作。
virtual std::string getDescription () const override
返回控件类的描述
Label * getTitleRenderer () const
返回按钮的内部标题渲染器。
void setTitleAlignment (TextHAlignment hAlignment, TextVAlignment vAlignment)
设置标题的文本垂直和水平对齐方式
void setZoomScale (float scale)
当用户按下按钮,按钮将照一个缩放比例来缩放 按钮最终的缩放比例等于(按钮初始缩放比例+ _zoomScale)
float getZoomScale () const
返回一个缩放比例