请问在cocos2dx 3.x 中的lua对象能否调用C++父类对象的方法?

问题是这样的,我希望Lua对象能够重载继承自C++对象的方法,在重载的时候先调用父类方法再添加修改的部分。

类似于:

function Child:foo()
    self.super:foo()
    -- extra code here
end

```


我从cocos自带的例子中了解到可以使用extern.lua的class方法来实现类的继承。从源码上看只有当父类是Lua对象的时候super的值才会被设置为父类对象。
如果使用类似下边的方法来实现继承的话由于父类参数是function所以super的值是nil。

local Child = class('Child', function() return cc.Sprite:create() end)

```


直接写
local Child = class('Child', cc.Sprite:create())

```

这样的话所有的子类的父类对象都会指向一个对象。

难道就没有什么办法可以实现lua对象重载父类对象吗?

难道就没有什么办法可以实现lua对象重载父类对象吗?

在继承父类对象创建函数中,把要重载的函数保存起来就可以用了比如
classB = class("ClassB, function()
local sp = cc.Sprite:create()
sp._setVisible = sp.setVisible
return sp
end)

classB:setVisible(vis)
self:_setVisible (vis)
–do something
end