quick 实现的工具类Tool 2 倒计时进度条TimeProgress

倒计时进度条

Progress.lua文件


local Progress = class("Progress", function(background, fillImage)
        local progress = display.newSprite(background)
        local fill = display.newProgressTimer(fillImage, display.PROGRESS_TIMER_BAR)

        fill:setMidpoint(CCPoint(0, 0.5))
        fill:setBarChangeRate(CCPoint(1.0, 0))
        fill:setPosition(progress:getContentSize().width/2, progress:getContentSize().height/2)
        progress:addChild(fill)
        fill:setPercentage(100)
        progress.fill = fill

        return progress
    end)
local scheduler = import("src/framework/scheduler.lua")
function Progress:ctor()

end

function Progress:setProgress(progress)
    self.fill:setPercentage(progress)
end
--node 要添加timeProgress的node,zorder z轴优先级,background 进度条背景,fillImage进度条图片,callback progress=0时回调函数
function Progress:createTimeProgress(node,zorder,background,fillImage,callback)
    local per = 100
    local progress = Progress.new(background,fillImage)
        :pos(display.cx,display.top)
        :zorder(zorder)
        :addTo(node)
    local sharedScheduler = cc.Director:getInstance():getScheduler()  
    local handle = sharedScheduler:scheduleScriptFunc(function()
        per = per -0.1
        progress:setProgress(per)
        if per <= 0 then
            --显示时间aover 重新开始
            callback()
            print("unSchedule")
        end
    end,0.01,false)

    scheduler.performWithDelayGlobal(function()
        scheduler.unscheduleGlobal(handle) 
    end, 20)
    
    return handle
end

return Progress


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值