我正在使用cocos2d-x [lua binding]来移植我的cocos2d [objective-c]游戏并且我有几个类子类化。 例如,我有一个CCScene的子类[永远不要做它的作用],它有一个onEnter方法。 在我的子类中,KCCScene我也有onEnter,在那里我打电话给[super onEnter]。
所以我读了很多描述Lua继承的文档,但我从未见过对super方法的调用。
有可能吗? 如果是的话,我应该怎么办像super:onEnter()?
由于
答案 0 :(得分:7)
这实际上取决于你做OO的具体方式。有些lib提供了“开箱即用”的超级方式,有些则没有。我不熟悉Cocos2d-x,但我认为它没有。
实现这一目标的一种方法是直接使用超类,如下所示:
function KCCScene:onEnter()
doThis()
CCScene.onEnter(self)
doThat()
end
这应该适用于所有执行OO的lib,包括Cocos2d-x。但是,您丢失了漂亮的“:”语法,并且需要包含一个明确的“self”参数。