我正在使用cocos2d-x [lua绑定(bind)]来移植我的cocos2d [objective-c]游戏,但是我只有很少的类可以继承。
例如,我有一个CCScene的子类[不用管它做什么],它具有一个onEnter方法。
在我的子类KCCScene中,我也有onEnter,在那里我调用了[super onEnter]。

因此,我已经阅读了很多描述Lua中继承的文档,但是我从未见过对super方法的调用。

有可能吗?
如果是这样,我应该如何做类似super:onEnter()的事情?

谢谢

最佳答案

这实际上取决于您执行OO的特定方式。有些库提供了一种 super 的“开箱即用”方式,而另一些则没有。我不熟悉Cocos2d-x,但我认为它没有一个。

一种实现方法是直接使用父类(super class),如下所示:

function KCCScene:onEnter()
  doThis()
  CCScene.onEnter(self)
  doThat()
end

这应该适用于所有执行OO的库,包括Cocos2d-x。但是,您将失去漂亮的“:”语法,并且需要包含一个显式的“self”参数。

09-05 18:06