关于cocos2dx+lua使用cocosbuilder乱弹

cocos2d-x  3.0  +  cocosbuilder 3.0

使用中发现每个按钮回调都要写一行对应的回调

如:

1 local function onMenuItemAClicked()
2     ...
3 end
4 
5 TestMenusLayer["onMenuItemAClicked"] = onMenuItemAClicked

感觉很麻烦,因为啰嗦,二是程序这边不喜欢美术那边的命名,经常自己打开ccb把命名修改

追踪到CCBReaderLoad.lua 中

1 if "function" == type(owner[callbackName]) then
2     proxy:setCallback(callbackNode, owner[callbackName], ownerCallbackControlEvents[i])
3 else
4     print("Warning: Cannot find owners lua function" ....)
5 end

那我是否可以统一都用一个回调 onMenuClicked 这样美术统一在ccb里面写这个回调,函数这边也写这个

这样唯一要修改的就是 LuaScriptHandlerMgr.h 中的 

typedef std::map<void*, VecHandlerPairs> MapObjectHandlers 修改为 std::multimap

但是这样修改太大,潜在的问题,而且性能也会稍微影响

有什么好的办法呢。。。

原文地址:https://www.cnblogs.com/shadow21/p/3700532.html