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


發佈了38 篇原創文章 · 獲贊 8 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章