理论基础

复选框是一种特定类型的“两状态”按钮,可以处于“选中”和“未选中状态”。继承自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. 在linux中添加环境变量

    首先用命令查看配置了哪些环境变量 env命令查看 编辑环境变量命令  vim ~/.bash_profile Counter_HOME=/home/test/Counterexport Counter ...

  2. 如何配置samba 要求共享文件夹public

    第一步:在根下执行:mkdir /public 修改下权限:chmod 777 /public第二步:vi /etc/samba/smb.conf修改如下配置:修改security = user为se ...

  3. 如何使用vue的axios结合PHP去上传文件

    我们在做表单提交的时候,往往会碰到一些表单提交的需求,那vue的axios与上传文件碰撞后不会出现什么不一样的火花吗,听我一一道来: 首先,我们需要对写一个vue的axios的表单提交,由于本人用的是 ...

  4. 【转】Go Channels

    转自: http://kdf5000.com/2017/07/16/Go-Channels/ Golang使用Groutine和channels实现了CSP(Communicating Sequent ...

  5. hdu5009 Paint Pearls[指针优化dp]

    Paint Pearls Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tota ...

  6. AStar A* A星 算法TypeScript版本

    一 演示效果 二  参考教程 <ActionScript3.0 高级动画教程> + 源码 http://download.csdn.net/download/zhengchengpeng/ ...

  7. img通过canvas转成base64编码

    <script type="text/javascript"> function getBase64Image(img) { var canvas = document ...

  8. [Window] .MUS 0x80070422 Error

    Window Update 服务没有开启.开启后可以执行如下命令: for /f %%i in ('dir D:\Hotfix\*.msu /S /B /ON') do wusa.exe %%i /q ...

  9. awk中的冒泡排序

    算法中经典的排序方式,今也用awk来实现下,代码如下: BEGIN { count=} {arrary[count]=$ count++ } END{ ;i>-;i--) { ;j<i;j ...

  10. android 使用动画 Button移动后不响应点击事件的解决办法

    animation3.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimatio ...