Cocos2d-x 3.9 Lua 自定义事件

--self 是一个layer

    --自定义事件的回调函数
    local function eventCustomListener1(event)
        local str = "Custom event 1 received, "..event._usedata.." times"
        statusLabel1:setString(str)
    end

    --添加自定义事件
    local listener1 = cc.EventListenerCustom:create("game_custom_event1",eventCustomListener1)
    self._listener1 = listener1
    local eventDispatcher = self:getEventDispatcher()
    eventDispatcher:addEventListenerWithFixedPriority(listener1, 1)

    --MenuItem 回调函数
    local function sendCallback1(tag, sender)

        count1 = count1 + 1

        -- 新建一条自定义事件信息,_userdata添加自己的自定义数据,分发
        local event = cc.EventCustom:new("game_custom_event1")
        event._usedata = string.format("%d",count1)
        eventDispatcher:dispatchEvent(event)

    end

    --菜单项MenuItem
    local sendItem1 = cc.MenuItemFont:create("Send Custom Event 1")
    sendItem1:registerScriptTapHandler(sendCallback1)
    sendItem1:setPosition(cc.p(origin.x + size.width/2, origin.y + size.height/2))

    --菜单Menu
    local menu = cc.Menu:create(sendItem1)
    menu:setPosition(cc.p(0, 0))
    menu:setAnchorPoint(cc.p(0, 0))
    self:addChild(menu, -1)

猜你喜欢

转载自blog.csdn.net/u012132482/article/details/50496836