cocos代码研究(14)Widget子类Button学习笔记

理论基础

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

时间: 2024-10-25 14:45:45

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

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

理论部分 Node类继承自Ref类,是cocos框架中基础底层的一个封装类,与画面渲染相关的类一般都是继承自该类,例如Scene,Layer,Sprite,Sprite3D,Label,SpriteBatchNode,MenuItem,ClippingNode,DrawNode,ParticleBatchNode, ParticleSystem等都是继承自Node类. 代码部分 父子节点关系API virtual void addChild (Node *child)添加一个子节点到容器内,z-

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

理论部分 Action类也是cocos核心基础类之一,在游戏中起着非常重要的作用,继承自Ref,被 FiniteTimeAction(有限时间动作), Follow , 以及 Speed 继承. 有限时间动作可以划分成: 即时动作(ActionInstant),即时动作只能够立刻完成的动作,这类动作是在下一帧立刻完成的动作,如设定位置.设定缩放等.把它们包装成动作后,可以与其他动作类组合为复杂动作. 持续动作(ActionInterval),在规定的时间内,执行完成对象属性,位置,特效,序列动作

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

auto layer = Layer::create(); /*************华丽分割线*************/ auto layer = LayerColor::create(Color4B(255, 0, 0, 255), 150, 150); /*************华丽分割线*************/ auto layer = LayerGradient::create(Color4B(255, 0, 0, 255), Color4B(255, 255, 0, 255

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

各种方法创建Sprite和Animate //图片创建法 参数一:图片资源路径 参数二:Rect选区 auto sprite = Sprite::create("Images/grossini_dance_atlas.png", Rect(x, y, 85, 121)); addChild(sprite); /*************华丽分割线*************/ //BatchNode类纹理创建法 //参数一:纹理图片 参数二:容量(子节点数量上限) auto batchN

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

基础理论 ListView控件是一个显示滚动项目列表的视图组. 列表项是通过使用addChild或insertDefaultItem插入到列表中的,继承自ScrollView. 代码实践 static ListView * create()创建一个空ListView. void setItemModel (Widget *model)设定一个ListView的模型. 当调用pushBackDefaultItem,该模型将作为一个蓝图,新副本将被插入到ListView控件. void pushBa

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

理论基础 RadioButton是一种特定类型的两状态按钮,它与复选框相似.它可以 和RadioButtonGroup一起使用,形成一个"组".继承自AbstractCheckButton,AbstractCheckButton继承自Widget. 代码部分 void addEventListener (const ccRadioButtonCallback &callback)注册一个回调函数, 它将在单选按钮被选中或者取消的时候被调用. bool isSelected ()

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

理论基础 RadioButtonGroup可以把指定的单选按钮组织起来, 形成一个组, 使它们彼此交互. 在一个RadioButtonGroup, 有且只有一个或者没有RadioButton可以处于被选中状态.继承自Widget. 代码实践 RadioButtonGroup可以把指定的单选按钮组织起来, 形成一个组, 使它们彼此交互. 在一个RadioButtonGroup, 有且只有一个或者没有RadioButton可以处于被选中状态.继承自Widget. static RadioButton

cocos代码研究(26)Widget子类RichView学习笔记

理论部分 一个显示多个RichElement的容器类. 我们可以使用它很容易显示带图片的文本,继承自 Widget. 代码实践 static RichText * create ()创建一个空的RichText void insertElement (RichElement *element, int index)在指定位置插入一个RichElement. void pushBackElement (RichElement *element)在容器最后插入一个RichElement. void

cocos代码研究(21)Widget子类TextField学习笔记

基础理论 一个接受用户输入的widget. 输入文本的渲染基于TextFieldTTF. 如果你想用系统控制行为,请使用EditBox来替代.继承自 Widget. 代码实践 //与占位符有关void setPlaceHolder (const std::string &value)设置占位符. const std::string & getPlaceHolder () const获取占位符. const Color4B & getPlaceHolderColor () const