实现每帧打印一次hello,并且在点击屏幕后停止调度器。
这里只说一种调度:
cc.Director:getInstance():getScheduler()
完整代码如下:
local sche = cc.Director:getInstance():getScheduler()
local schNode = nil
function aLayer:updateSche(bUpdate)
local function aaa()
schNode = sche:scheduleScriptFunc(function()
print("hello")
end,0,false) --
end
if bUpdate then
aaa()
else
if schNode ~= nil then
sche:unscheduleScriptEntry(schNode)
end
end
end
function aLayer:onTouchBegan(t,e)
self:updateSche(false)
local pTouch = t:getLocation()
return true
end
注册触摸事件的代码如下:
function aLayer:ZhuCeEvent()
local function onTouchBegan(touch, event) --onTouchBegan
return self:onTouchBegan(touch, event)
end
local function onTouchMoved(touch, event) --onTouchMoved
self:onTouchMoved(touch, event)
end
local function onTouchEnded(touch, event) --onTouchEnded
self:onTouchEnded(touch, event)
end
local function onTouchCancelled(touch, event) --onTouchCancelled
self:onTouchCancelled(touch, event)
end
--TouchListener
local pTouchListener = cc.EventListenerTouchOneByOne:create();
pTouchListener:setSwallowTouches(true)
pTouchListener:registerScriptHandler(onTouchBegan, cc.Handler.EVENT_TOUCH_BEGAN)
pTouchListener:registerScriptHandler(onTouchMoved, cc.Handler.EVENT_TOUCH_MOVED)
pTouchListener:registerScriptHandler(onTouchEnded, cc.Handler.EVENT_TOUCH_ENDED)
pTouchListener:registerScriptHandler(onTouchCancelled, cc.Handler.EVENT_TOUCH_CANCELLED)
--EventDispatcher
self:getEventDispatcher():addEventListenerWithSceneGraphPriority(pTouchListener, self)
end
在需要调度的时候使用
self:updateSche(ture)
不需要的时候,摸下屏幕即可调用self:updateSche(false)。