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)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值