我正在使用libGDX创建一个名为Poopsweeper(原始,我知道)的扫雷克隆。我不喜欢Java所以我使用的是Jython(兼容Java的Python)。
我正在研究libGDX“扩展基本游戏”教程,该教程教授将游戏分成几个屏幕(主菜单,游戏,高分等)。
它说要在主要游戏类中执行此操作:
class PoopSweeper(Game):
def create(self):
self.batch = SpriteBatch()
self.font = BitmapFont()
self.screen = PlayScreen(self)
def dispose(self):
self.batch.dispose()
self.font.dispose()
def render(self):
#Call superclass' render() method
这就是render()超类调用我遇到了麻烦。
我正在尝试将Jython等效于此:
public void render() {
super.render(); //important!
}
我尝试了很多方法:
super(Game, self).render()
Game.render(self)
self.super__render()
但所有这些都给出了这个:
Exception in thread "LWJGL Application" Traceback (most recent call last):
File "C:\Users\Marvin\Dropbox\gaemz\PoopSweeper\PoopSweeper-Core\poopsweeper.py", line 29, in render
self.super__render()
TypeError: render() takes exactly 1 argument (2 given)
任何人都可以帮我吗? 这是我的完整代码: http://pastebin.com/cXgBc4XB
编辑:这是我正试图通过Jython工作的类的javadoc:http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/Game.htmlEDIT2:我修好了,答案是完全不相关的。
这是因为我忘记在我的SCREEN的渲染方法中添加“delta”参数。仍然渲染(),但在一个完全其他的类,这就是为什么我得到了两个混淆