理论基础

在一些操作中可视化指示进度条。显示给用户一个条表示操作已经完成了多少,继承自 Widget。

代码实践

static LoadingBar * create ()
创建一个空的LoadingBar。

static LoadingBar * create (const std::string &textureName, //LoadingBar背景纹理图片文件。
float percentage=0) //显示的进度百分比。
使用一个纹理和一个进度百分比创建一个LoadingBar。

static LoadingBar * create (const std::string &textureName, //LoadingBar背景纹理图片文件。
TextureResType texType, //LoadingBar背景纹理类型。
float percentage=0) //显示的进度百分比。
使用一个纹理、纹理类型和一个进度百分比创建一个LoadingBar。

void setDirection (Direction direction)
改变进度显示方向。

Direction getDirection () const
获取进度显示方向。

void loadTexture (const std::string &texture, //LoadingBar背景纹理图片文件。
TextureResType texType=TextureResType::LOCAL)
LoadingBar载入背景纹理。

void setPercent (float percent)
改变LoadingBar的当前进度。

float getPercent () const
获取LoadingBar当前的进度。

void setScale9Enabled (bool enabled)
是否开启九宫格渲染。

bool isScale9Enabled () const
请求LoadingBar是否开启了九宫格渲染。

void setCapInsets (const Rect &capInsets)
设置CapInsets。 只有当开启九宫格渲染后才需要设置。

const Rect & getCapInsets () const
请求LoadingBar的capInsets。

实例:

// Create the loading bar
LoadingBar* loadingBar = LoadingBar::create("cocosui/sliderThumb.png");
loadingBar->setTag();
loadingBar->ignoreContentAdaptWithSize(false);
//loadingBar->setScale9Enabled(true);
loadingBar->setCapInsets(Rect(, , , ));
loadingBar->setContentSize(Size(, ));
loadingBar->setDirection(LoadingBar::Direction::LEFT);
loadingBar->setPercent();
loadingBar->setTouchEnabled(true);
loadingBar->addTouchEventListener([=](Ref* sender, Widget::TouchEventType type){
  if (type == Widget::TouchEventType::ENDED) {
    if (loadingBar->isScale9Enabled())
    {
      loadingBar->setScale9Enabled(false);
    }
    else
      loadingBar->setScale9Enabled(true);
    }
}); loadingBar->setPosition(Vec2(widgetSize.width / 2.0f,
widgetSize.height / 2.0f + loadingBar->getContentSize().height / 4.0f));

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

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

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

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

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

随机推荐

  1. Java精选笔记_网络编程

    网络编程 概述 现在的网络编程基本上都是基于请求/响应方式的,也就是一个设备发送请求数据给另外一个,然后接收另一个设备的反馈. 在网络编程中,发起连接程序,也就是发送第一次请求的程序,被称作客户端(C ...

  2. swift - UIPickerView 的使用

    效果显示数下图: 1.初始化 pickerView.center = self.view.center //将dataSource设置成自己 pickerView.dataSource=self // ...

  3. 07python之字符串的常用方法

    字符串作为python中常用的数据类型,掌握字符串的常用方法十分必要. 常用知识点: 1.字符串的3种格式化方法 2.字符串的strip()方法 3.字符串的join()方法 4.字符串可以切片 1. ...

  4. Python 对目录做遍历

    os.walk() 用于遍历目录里的文件,或者说迭代目录里的文件 ??? 什么意思?比如 Linux 中 find /data -type f 表示找出 /data 目录下的所有文件,它会先找出 /d ...

  5. #pragam预处理分析

    #pragma是编译器指示字,用域指示编译器完成一些特定动作, #pragma所定义的很多指示字是编译器和操作系统特有的 #pragma在不同的编译器间是不可移植的 预处理器将忽略它不认识的#prag ...

  6. COM组件技术名称解释

    GUID:全局唯一标识. CLSID 或 ProgID :唯一地表示一个组件服务程序,那么根据这些ID,就可以加载运行组件,并为客户端程序提供服务了. IID :唯一的表示接口ID. COM 组件是运 ...

  7. 谈一谈php://input和php://output

    对一php://input介绍,PHP官方手册文档有一段话对它进行了很明确地概述. php://input 是个可以访问请求的原始数据的只读流. POST 请求的情况下,最好使用 php://inpu ...

  8. LeetCode - PlusOne

    题意:给一个数按位存放在一个int数组中,要求返回这个数加一后的数组. 懒人解法: public class Solution { public int[] plusOne(int[] digits) ...

  9. [干货] 有了微信小程序,谁还学ReactNative?

    版权声明:本文由贺嘉原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/145 来源:腾云阁 https://www.qclou ...

  10. mysql 之 group by 性能优化 查询与统计分离

    背景介绍 记录共128W条!   SELECT cpe_id, COUNT(*) restarts FROM business_log WHERE operate_time>='2012-12- ...