倒計時進度條
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