[已解决]关于cocos2d-x 2.2.2 lua 绑定事件的问题

self.mainArmature:getAnimation():setFrameEventCallFunc(self,self.frameArmatureCall) 这样写会报错
self.mainArmature:getAnimation():setFrameEventCallFunc(self.frameArmatureCall) 这样写 回调函数参数不传 请问各位大牛如何解决的?

setFrameEventCallFunc(
function (…)
return self:frameArmaterCall(…);
end

自己封装,懒得打给你了 :13:

写个闭包
local function frameArmatureCall( args)
self.frameArmatureCall

写个闭包
local function frameArmatureCall( args)
self.mainArmature: frameArmatureCall(args)
end
-------定义
self.mainArmature: frameArmatureCal(args)
— code
end

貌似 setFrameEventCallFunc 直接传一个普通的LUA函数就可以了

orz :12:

我太蠢 没看懂你写的是什么意思= =!

这样写function (…) 再function (…) 里面是不能用slef:的吧?

哎 我怕了你了,写给你算了
function register(obj, func)
return
function (…)
return func(obj, …);
end;
end

function Father:doA(…)
–dosomethin;
end

function Father:doB(…)
registerScript(register(self, self.doA));
end

没试过别问不行,我已经用了好几个月了……
看不懂自己想办法……

非常感谢你 原来是这个意思

其实我是没看懂meixuelei写的 。
你之前写的 代码端 我疑问的是语法上的问题

总之非常感谢你 ~

一开始写错了,然后 回复了一下自己 补全了 开头就说了 用闭包函数 去实现对回调的封装 。闭包如何写 可以看看 lua教程 就明白了。

function fun()
local function callBack(args) – 闭包函数 通过闭包实现对类方法的访问
self:callBack(args)
end
self.mainArmature:getAnimation():setFrameEventCallFunc(callBack)

end
-----------------实现回调的处理----------------------
function class:callBack(args)
end

语法是编辑错了 意思 就是 通过闭包函数 去封装你调用的回调 其他的不解释了