理论基础

表示一个按钮组件。 按钮可以被按下,或者点击, 并且在按下或者点击之后,可以由用户指定一个动作来执行,继承自 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
返回一个缩放比例

cocos代码研究(14)Widget子类Button学习笔记的更多相关文章

  1. cocos代码研究(1)Node学习笔记

    理论部分 Node类继承自Ref类,是cocos框架中基础底层的一个封装类,与画面渲染相关的类一般都是继承自该类,例如Scene,Layer,Sprite,Sprite3D,Label,SpriteB ...

  2. cocos代码研究(5)Action学习笔记

    理论部分 Action类也是cocos核心基础类之一,在游戏中起着非常重要的作用,继承自Ref,被 FiniteTimeAction(有限时间动作), Follow , 以及 Speed 继承. 有限 ...

  3. cocos代码研究(2)Label学习笔记

    理论部分 Label类继承自Node类,中文翻译文字与字体,通常在应用开发中为模块作为提示和描述的作用,主要有3中不同的创建方式. 1.通过ttf字体包创建,通过指定本地已有的ttf格式的字体文件,创 ...

  4. cocos代码研究(1)sprite学习笔记

    各种方法创建Sprite和Animate //图片创建法 参数一:图片资源路径 参数二:Rect选区 auto sprite = Sprite::create(, )); addChild(sprit ...

  5. cocos代码研究(2)Layer学习笔记

    auto layer = Layer::create(); /*************华丽分割线*************/ auto layer = LayerColor::create(Colo ...

  6. cocos代码研究(17)Widget子类RadioButtonGroup学习笔记

    理论基础 RadioButtonGroup可以把指定的单选按钮组织起来, 形成一个组, 使它们彼此交互. 在一个RadioButtonGroup, 有且只有一个或者没有RadioButton可以处于被 ...

  7. cocos代码研究(16)Widget子类RadioButton学习笔记

    理论基础 RadioButton是一种特定类型的两状态按钮,它与复选框相似.它可以 和RadioButtonGroup一起使用,形成一个"组".继承自AbstractCheckBu ...

  8. cocos代码研究(25)Widget子类PageView学习笔记

    基础理论 ListView控件是一个显示滚动项目列表的视图组. 列表项是通过使用addChild或insertDefaultItem插入到列表中的,继承自ScrollView. 代码实践 static ...

  9. cocos代码研究(15)Widget子类CheckBox学习笔记

    理论基础 复选框是一种特定类型的“两状态”按钮,可以处于“选中”和“未选中状态”.继承自AbstractCheckButton.注 AbstractCheckButton继承自Widget类. 代码部 ...

随机推荐

  1. swift学习笔记之--方法

    一.说明 跟oc一样,面向对象,swift重点额方法可以分为2大类: (1)实例方法 oc中为减号方法(对象方法) (2)类型方法 oc中的加号方法(类方法) 二.实例方法 只能是对象调用的方法 代码 ...

  2. Tomcat优化详细教程

    Tomcat是我们经常使用的 servlet容器之一,甚至很多线上产品都使用 Tomcat充当服务器.而且优化后的Tomcat性能提升显著,本文从以下几方面进行分析优化. 一.内存优化 默认情况下To ...

  3. Error setting expression 'XXX' with value 设置表达式“XXX”时出错 解决方法

    1.表达式“xxx”在所调用的action里没有与之对应的对象: 2.action里有该对象作为私有成员变量但是没有get&set方法.

  4. Java初学者笔记一:元类、获取类型、枚举

    零.绪论: 2018年新年伊始,学习Java的冲动越来越强烈,毕竟以后无论是做安全开发还是安全研究都必不可少的掌握这门语言,所以在不断完善Python作为脚本语言的主语言的情况下觉得学习Java作为高 ...

  5. 如何查找元素对应事件的js代码

    以chrome的firebug为例 1.找到其dom元素,然后右键"break on"-->"subtree modification"等,设置后元素旁边 ...

  6. iOS - 获取状态栏和导航栏尺寸(宽度和高度)

    iPhone开发当中,有时需要获取状态栏和导航栏高度.宽度信息,方便布局其他控件.下面介绍一下如何获取这些信息: // 状态栏(statusbar) CGRect rectStatus = [[UIA ...

  7. 解读 Android TTS 语音合成播报

    随着从事 Android 开发年限增加,负责的工作项目也从应用层开发逐步过渡到 Android Framework 层开发.虽然一开始就知道 Android 知识体系的庞大,但是当你逐渐从 Appli ...

  8. 输入一个网站地址到网站展现的过程以及APR协议(鬼知道中间经历了什么)

    以前只知道输入一个网站,然后看着返回琳琅满目的内容,其实中间经历的过程和步骤太多了.为了满足好奇心以及学习需要,特查阅了资料将其记录下来以备后续自己复习. 从我在地址栏输入www.zhihu.com ...

  9. Tomcat 500错误 问题集锦

    HTTP 500 - 内部服务器错误  1.jdk版本与Tomcat版本不一样. 问题: 配置一个Web应用的时候,源文件和server.xml.web.xml的配置都没有问题,但是在访问到一个Ser ...

  10. poj1191 棋盘分割【区间DP】【记忆化搜索】

    棋盘分割 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 16263   Accepted: 5812 Description ...