当前位置: 首页 > news >正文

cocos2d-lua:进度条ProgressTimer的使用

目录

ProgressTimer

条形进度条

圆形进度条


ProgressTimer

在Cocos2d-x中,进度条ProgressTimer分为两种:圆形(RADIAL)和条形(BAR),使用方法setType进行类型设置!

关于ProgressTimer的方法可以直接查看官网API或在引擎中找到CCProgressTimer.cpp文件查看源码!

下面介绍一下在Cocos2d-lua中ProgressTimer的使用方法:

条形进度条

local barProBg = cc.Sprite:createWithSpriteFrameName("bar_progress_bg.png")  -- 条形进度条背景,若不需要可以省去
local sprite = cc.Sprite:createWithSpriteFrameName("bar_pregress.png")
self.barPro = cc.ProgressTimer:create(sprite)  -- 必须使用精灵创建进度条
--[[
    setType:设置进度条类型
    cc.PROGRESS_TIMER_TYPE_RADIAL为圆形
    cc.PROGRESS_TIMER_TYPE_BAR为条形
]]
self.barPro:setType(cc.PROGRESS_TIMER_TYPE_BAR)
--[[
    setMidpoint:设置进度条的起点位置:cc.p(x, y)
    cc.p(0, 0)为左下角
    cc.p(1, 1)为右上角
    e.g.
    cc.p(0, y):x为0,不管y为0还是1,水平方向的起点为最左边,则进度条减少的方向为从右到左
    cc.p(x, 1):y为1,不管x为0还是1,垂直方向的起点为最上边,则进度条减少的方向为从下到上
]]
self.barPro:setMidpoint(cc.p(0, 0))
--[[
    setBarChangeRate:设置垂直和水平方向的进度:cc.p(x, y)
    x和y分别为水平方向和垂直方向,其值均为0或1,0表示该方向没有进度,1表示该方向有进度
    e.g.
    cc.p(1, 0)表示水平方向有进度,垂直方向无进度
    cc.p(1, 1)表示水平和垂直方向都有进度
]]
self.barPro:setBarChangeRate(cc.p(1, 0))
local size = barProBg:getContentSize()
self.barPro:setPosition(cc.p(size.width/2, size.height/2))
barProBg:addChild(self.barPro)
self.barPro:setPercentage(66)  -- 设置进度:0-100

ps:

setMidpoint和setBarChangeRate共同确定条形进度条的显示类型!

圆形进度条

local radialProBg = cc.Sprite:createWithSpriteFrameName("radial_progress_bg.png")  -- 圆形进度条背景,若不需要可以省去
local sprite = cc.Sprite:createWithSpriteFrameName("radial_pregress.png")
self.radialPro = cc.ProgressTimer:create(sprite)  -- 必须使用精灵创建进度条
--[[
    setType:设置进度条类型
    cc.PROGRESS_TIMER_TYPE_RADIAL为圆形
    cc.PROGRESS_TIMER_TYPE_BAR为条形
]]
self.radialPro:setType(cc.PROGRESS_TIMER_TYPE_RADIAL)
--[[
    setReverseDirection:设置进度条的方向(只针对圆形进度条)
    true为顺时针
    false为逆时针
]]
self.radialPro:setReverseDirection(true)
local size = radialProBg:getContentSize()
self.radialPro:setPosition(cc.p(size.width/2, size.height/2))
radialProBg:addChild(self.radialPro)
self.radialPro:setPercentage(66)  -- 设置进度:0-100

 

相关文章:

  • 用HFNetChk下载更新补丁
  • cocos2d-lua:Label的使用
  • win打开自带的画图工具
  • HR经理必备之IT术语
  • cocos2d-lua:XMLHttpRequest的使用
  • [啃书]身体使用手册 --《You:The owner's manual》
  • bat 概述
  • 圣诞节送给访问我BLOG的人
  • Lua实战之洗牌算法
  • Lua中loadstring的使用
  • 玩转“网上邻居”之浏览服务原理(一)
  • 玩转“网上邻居”之浏览服务原理(二)
  • cocos2d-lua:控件长按处理
  • 《网络工程师必读——网络系统设计》上市了
  • cocos2d-lua:控件翻转
  • [NodeJS] 关于Buffer
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • 2019年如何成为全栈工程师?
  • 345-反转字符串中的元音字母
  • CSS魔法堂:Absolute Positioning就这个样
  • React的组件模式
  • SpiderData 2019年2月16日 DApp数据排行榜
  • Spring Boot MyBatis配置多种数据库
  • spring security oauth2 password授权模式
  • 你不可错过的前端面试题(一)
  • 一文看透浏览器架构
  • 异步
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • 《码出高效》学习笔记与书中错误记录
  • MyCAT水平分库
  • ​ArcGIS Pro 如何批量删除字段
  • ​水经微图Web1.5.0版即将上线
  • (2015)JS ES6 必知的十个 特性
  • (4)Elastix图像配准:3D图像
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (汇总)os模块以及shutil模块对文件的操作
  • (力扣)1314.矩阵区域和
  • (算法设计与分析)第一章算法概述-习题
  • (转)甲方乙方——赵民谈找工作
  • ./configure、make、make install 命令
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .NET 指南:抽象化实现的基类
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • .net专家(张羿专栏)
  • [ 网络基础篇 ] MAP 迈普交换机常用命令详解
  • [Android Studio 权威教程]断点调试和高级调试
  • [Bug]使用gradio创建应用提示AttributeError: module ‘gradio‘ has no attribute ‘inputs‘
  • [C++][数据结构][跳表]详细讲解
  • [Flutter]设置应用包名、名称、版本号、最低支持版本、Icon、启动页以及环境判断、平台判断和打包
  • [Grafana]ES数据源Alert告警发送