今天写lua脚本,遇到一个小问题。因为Cocos2dx为lua提供了广泛多的接口,但是我发现Lua环境下的编程和c++环境下的一些接口还是有很多不同的地方。
c++下的cocos2dx为按钮添加时间处理函数一般是这样做的:
shop_btn->addTouchEventListener(CC_CALLBACK_2(GameScene::menuShopCallback,this));
但是Lua中套用这种方式就不对了。CC_CALLBACK_2在cocos2dx c++中是宏,Lua没用为宏提供接口。
正确的格式应该是这样:
local function menuShopCallback(pSender,type)
......(balabla)
end
self.shop_btn:addTouchEventListener(menuShopCallback)