local _setPosition = nil mapbg = class("mapbg", function() sprite = CCSprite:create("image/map.png") _setPosition = sprite.setPosition return sprite end) function mapbg:setPosition(x, y) _setPosition(self, x, y) end function mapbg:draw() print("draw!!!) end ``` 如上代码, 我重载了setPosition 是可以work的, 但是重载draw,却完全没调用到. 而我在C++代码里面,重载这个是有效的, 是不是有什么注意的地方, 我漏掉了呢?
是不是又要回复一个才有效
有人知道这个是为何吗, 搜了好久都搜不到答案, lua 覆写, lua 重载, 都找遍了
重写不了draw函数的吧,像这些C直接调用的,不会调用lua的吧
你想太多了,你lua重载的函数,你lua调用该函数才有用,C++才不会去调用你lua重载的函数。
_setPosition = sprite.setPosition 你这个setPosition是调用你自己写的,你得自己调用你自己写的draw啊 ,c++ 怎么调用你写的draw
感谢楼上几位的解惑, 阔然开朗