首页 > 代码库 > [ISSUE]Lambda binding for lua is not supported.

[ISSUE]Lambda binding for lua is not supported.

环境: cocos2d-x + lua 3.0beta2

想使用CCNotification, 发现3.0已经替换为CCEvent, 晃了一眼设计,不错

原来在C++ 上自己也实现了一套Event,因为不满意CCNotification 没有优先级,没有自定义分类(比如UI,Logic),不能携带数据,现在3.0的设计基本满足了需求

使用中还是发现一点问题 (self is a CCLayer):

self:getEventDispatcher():addCustomEventListener(EVENT_XXX, function() self:callbackOfXXX() end)

异常:Assertion failed: (false), function lua_cocos2dx_EventDispatcher_addCustomEventListener /lua_cocos2dx_auto.cpp, line 5610.

暂时没有理解为什么要assert,有空再注释掉试试

 

临时使用如下方法:

local listener1 = cc.EventListenerCustom:create(EVENT_XXX, function() self:callbackOfXXX() end)
self:getEventDispatcher():addEventListenerWithFixedPriority(listener1, 1)

 

如题待解。。。