cocos代码研究(15)Widget子类CheckBox学习笔记
理论基础
复选框是一种特定类型的“两状态”按钮,可以处于“选中”和“未选中状态”。继承自AbstractCheckButton。注 AbstractCheckButton继承自Widget类。
代码部分
Public属性类型
enum EventType
复选框事件类型,目前只有“选中”和“未选中”两种事件。
ccCheckBoxCallback
一个回调函数,它将在某个复选框事件触发后被调用。
Public成员函数
void setSelectedState (bool selected)
变更复选框选中
bool getSelectedState () const
查询复选框是否被选中。
bool isSelected () const
查询是否选中复选框。
void setSelected (bool selected)
修改复选框的状态 设置True会使复选框变为“选中状态”,否则传False会使复选框变为“未选中状态”
void addEventListenerCheckBox (Ref *target, SEL_SelectedStateEvent selector)
注册一个回调函数,它会在复选框的选择事件发生时被调用。
void addEventListener (const ccCheckBoxCallback &callback)
注册一个回调函数,它将在复选框被选中或者取消选中时被调用。
virtual void onTouchEnded (Touch *touch, Event *unusedEvent) override
触摸事件结束时的回调函数。
void loadTextures (const std::string &background, //背景普通状态图片的名字。
const std::string &backgroundSelected, //背景选择状态图片的名字。
const std::string &cross, //勾选选中状态图片的名字。
const std::string &backgroundDisabled, //背景禁用状态图片名字。
const std::string &frontCrossDisabled, //勾选禁用状态图片名字
TextureResType texType=TextureResType::LOCAL)
加载所有纹理并初始化一个复选框。
void loadTextureBackGround (const std::string &backGround, //背景普通状态图片的名字。
TextureResType type=TextureResType::LOCAL)
加载背景普通状态纹理
void loadTextureBackGroundSelected (const std::string &backGroundSelected, //背景选中状态纹理图片的名字。
TextureResType texType=TextureResType::LOCAL)
加载背景选中状态纹理的图片
void loadTextureFrontCross (const std::string &crossTextureName, //勾选选中状态图片的名字。
TextureResType texType=TextureResType::LOCAL)
加载勾选选中状态的纹理图片
void loadTextureBackGroundDisabled (const std::string &backGroundDisabled, //背景禁用状态纹理的图片名称
TextureResType texType=TextureResType::LOCAL)
加载背景禁用状态纹理的图片
void loadTextureFrontCrossDisabled (const std::string &frontCrossDisabled, //勾选禁用状态图片名字。
TextureResType texType=TextureResType::LOCAL)
加载勾选禁用状态的纹理图片
void setZoomScale (float scale)
当用户按下复选框时,按钮将会缩放到一个比例 最后复选框的缩放值等于(复选框原尺寸+ _zoomScale)
float getZoomScale () const
返回一个缩放比例
Sprite * getRendererBackground () const
返回背景普通状态的渲染节点
Sprite * getRendererBackgroundSelected () const
返回背景选择状态的渲染节点
Sprite * getRendererFrontCross () const
返回前景普通状态的渲染节点
实例:
// Create the checkbox
CheckBox* checkBox = CheckBox::create("cocosui/check_box_normal.png",
"cocosui/check_box_normal_press.png",
"cocosui/check_box_active.png",
"cocosui/check_box_normal_disable.png",
"cocosui/check_box_active_disable.png");
checkBox->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f)); checkBox->addEventListener(CC_CALLBACK_2(UICheckBoxTest::selectedEvent, this));
_uiLayer->addChild(checkBox);
// Create the checkbox
CheckBox* checkBox2 = CheckBox::create("cocosui/check_box_normal.png",
"cocosui/check_box_active.png");
checkBox2->setPosition(Vec2(widgetSize.width / 2.0f - , widgetSize.height / 2.0f));
checkBox2->ignoreContentAdaptWithSize(false);
checkBox2->setZoomScale(0.5);
checkBox2->setContentSize(Size(,));
checkBox2->setName("bigCheckBox");
_uiLayer->addChild(checkBox2);
cocos代码研究(15)Widget子类CheckBox学习笔记的更多相关文章
- cocos代码研究(1)Node学习笔记
理论部分 Node类继承自Ref类,是cocos框架中基础底层的一个封装类,与画面渲染相关的类一般都是继承自该类,例如Scene,Layer,Sprite,Sprite3D,Label,SpriteB ...
- cocos代码研究(5)Action学习笔记
理论部分 Action类也是cocos核心基础类之一,在游戏中起着非常重要的作用,继承自Ref,被 FiniteTimeAction(有限时间动作), Follow , 以及 Speed 继承. 有限 ...
- cocos代码研究(2)Label学习笔记
理论部分 Label类继承自Node类,中文翻译文字与字体,通常在应用开发中为模块作为提示和描述的作用,主要有3中不同的创建方式. 1.通过ttf字体包创建,通过指定本地已有的ttf格式的字体文件,创 ...
- cocos代码研究(1)sprite学习笔记
各种方法创建Sprite和Animate //图片创建法 参数一:图片资源路径 参数二:Rect选区 auto sprite = Sprite::create(, )); addChild(sprit ...
- cocos代码研究(2)Layer学习笔记
auto layer = Layer::create(); /*************华丽分割线*************/ auto layer = LayerColor::create(Colo ...
- cocos代码研究(17)Widget子类RadioButtonGroup学习笔记
理论基础 RadioButtonGroup可以把指定的单选按钮组织起来, 形成一个组, 使它们彼此交互. 在一个RadioButtonGroup, 有且只有一个或者没有RadioButton可以处于被 ...
- cocos代码研究(16)Widget子类RadioButton学习笔记
理论基础 RadioButton是一种特定类型的两状态按钮,它与复选框相似.它可以 和RadioButtonGroup一起使用,形成一个"组".继承自AbstractCheckBu ...
- cocos代码研究(14)Widget子类Button学习笔记
理论基础 表示一个按钮组件. 按钮可以被按下,或者点击, 并且在按下或者点击之后,可以由用户指定一个动作来执行,继承自 Widget. 代码部分 static Button * create ()创建 ...
- cocos代码研究(13)Widget子类EditBox学习笔记
理论基础 一个用来输入文本的类,继承自 Widget , 以及 IMEDelegate. 代码部分 Public枚举类型 enum KeyboardReturnType键盘的返回键类型. enum I ...
随机推荐
- day05<Java语言基础--数组>
Java语言基础(数组概述和定义格式说明) Java语言基础(数组的初始化动态初始化) Java语言基础(Java中的内存分配以及栈和堆的区别) Java语言基础(数组的内存图解1一个数组) Java ...
- Unity中Oculus分屏相机和普通相机一键切换
Unity中Oculus分屏相机和普通相机一键切换 一.OCulus 分屏相机介绍 在VR开发工程中,总会觉得OC分屏的处理太慢,严重浪费时间啊! 但是不使用有不好调试,来回切换相机就成为了一个必须. ...
- CentOS 6.3下部署LVS(NAT模式)+keepalived实现高性能高可用负载均衡
一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalive ...
- js中如何删除json对象的某一个选项
我有一个这样一个对象,getData, 但是我不想要每一项的id,那怎么去删除呢(使用delete)? getData.map((item) =>{ delete item["id&q ...
- VS2013快捷键
这个好用,先放这两个 组合键“Ctrl+Enter”:在当前行的上面插入一个空行: 组合键“Ctrl+Shift+Enter”:在当前行的下面插入一个空行.
- 静态同步synchronized方法和synchronized(class)代码块
关键字synchronized还可以应用在static静态方法上,如果这样写,那是对当前的*.java文件对应的Class类进行持锁. package synStaticMethod; /** * C ...
- element.style{}
有时在写css样式,并调试时,会出现很不可思议的现象,比如:我们定义了一个<div class=”aaa”></div>,在css中定义样式,.aaa{width:500px; ...
- ansible的携带密码访问
author:head森 chen date: 2018-08-13 10:28:34 1,ansible的安装 yum -y install epel-release yum -y instal ...
- [IIS] IIS Framework "aspnet_regiis.exe" 注册
Error:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“
- 点击TextView 弹出复制选项
extends:http://www.eoeandroid.com/thread-226805-1-1.html package com.dotfive.chuanbang.view; import ...