cocos3.10 Luaスケジューラの使用
フレームごとに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)が呼び出されます.