local scheduler = require("framework.scheduler")
--[[ 长按按钮,触发事件
@param node 长按的按钮或者图片等节点
@param touchTime 触摸的时间
@param callback 长按后触发的事件
@param delayTime 如需延长时间
@param
]]
local function longTouchEvent(node,touchTime,callback)
local shcheduleID
node:addTouchEventListener(function(sender,type)
--local beginTime = nil
if type == cc.EventCode.BEGAN then
-- beginTime = os.time()
print("begin touch..")
-- --display.scheduler()
-- shcheduleID = scheduler.scheduleGlobal(function()
-- if beginTime == nil then return end
-- if os.time() - beginTime >= touchTime and callback then
-- if delayTime then
-- scheduler.performWithDelayGlobal(callback, delayTime)
-- else
-- callback()
-- end
-- if shcheduleID then
-- scheduler.unscheduleGlobal(shcheduleID)
-- end
-- end
-- end
-- ,0.01)
-- shcheduleID = scheduler.scheduleGlobal(function()
-- --先运行touchTime时间单位,在执行callback
-- scheduler.unscheduleGlobal(shcheduleID)
-- callback()
-- print("cancel scheduler...int sch")
-- end, touchTime)
shcheduleID = scheduler.performWithDelayGlobal(callback, touchTime)
elseif type == cc.EventCode.ENDED then
print("ended touch..")
if shcheduleID then
print("cancell shchedule")
scheduler.unscheduleGlobal(shcheduleID)
shcheduleID = nil
end
elseif type == cc.EventCode.MOVED then
print("move touch...")
elseif type == cc.EventCode.CANCELLED then
print("cancel touch...")
if shcheduleID then
scheduler.unscheduleGlobal(shcheduleID)
shcheduleID = nil
end
end
end)
end