理论基础

复选框是一种特定类型的“两状态”按钮,可以处于“选中”和“未选中状态”。继承自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学习笔记的更多相关文章

  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代码研究(14)Widget子类Button学习笔记

    理论基础 表示一个按钮组件. 按钮可以被按下,或者点击, 并且在按下或者点击之后,可以由用户指定一个动作来执行,继承自 Widget. 代码部分 static Button * create ()创建 ...

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

    理论基础 一个用来输入文本的类,继承自 Widget , 以及 IMEDelegate. 代码部分 Public枚举类型 enum KeyboardReturnType键盘的返回键类型. enum I ...

随机推荐

  1. Android NDK开发-1-环境搭建

    1.NDK介绍 Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google称为“NDK”.众所周知,Android程序运行在Dal ...

  2. Navicat无法启动,提示无法启动程序,因为计算机中丢失MSVCP140.dll

    .dll是一个动态链接库文件,Dynamic Link Library,是代码的封装,提供某种功能,可以被需要该功能的多个应用调用,提高代码的复用性 解决方法,下载并安装微软VC++2015版运行库 ...

  3. 新唐M0 M4系统初始化

    系统初始化包含了时钟(clock)初始化和多功能引脚(Multi Function Pin 简称MFP寄存器)配置.void SYS_Init(void) { /* 解锁保护寄存器 */ SYS_Un ...

  4. Effective C++ —— 设计与声明(四)

    条款18 : 让接口容易被正确使用,不易被误用 欲开发一个“容易被正确使用,不容易被误用”的接口,首先必须考虑客户可能做出什么样的错误操作.  1. 明智而审慎地导入新类型对预防“接口被误用”有神奇疗 ...

  5. C++ 在继承中使用virtual

    使用virtual:如果方法是通过引用类型或指针而不是对象调用的,它将确定使用哪一种方法.如果没有使用关键字irtual,程序将根据引用类型或指针类型选择方法:如果使用了irtual,程序将根据引用或 ...

  6. 在android真机上使用sqlite3

    #zijun#2013.10.29#QQ:223663737 在android真机上使用sqlite3 前期准备: 1:保证手机已经ROOT 操作步骤: 1 : 打开CMD 2 : 进入android ...

  7. click() bind() live() delegate()区别

    click(),bind(),live()都是执行事件时使用的方法 1.click()单击事件方法: $("a").click(function() { alert("h ...

  8. IIS 无法访问.net的动态文件

    编译器错误消息:CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319... 在“c:\windows\temp”这个文件夹添 ...

  9. Android 仿微信朋友圈发动态功能(相册图片多选)

    代码分享 代码名称: 仿微信朋友圈发动态功能(相册图片多选) 代码描述: 仿微信朋友圈发动态功能(相册图片多选) 代码托管地址: http://www.apkbus.com/android-15276 ...

  10. 拼接的html的onclick事件中无法传递对象给js方法的处理办法

    如下: 拼接的html: " onclick=\"valDocName2('"+JSON.stringify(doc).replace(new RegExp(" ...