我正在用 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 使用的类的 javadocs:http: //libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/Game.html
EDIT2:我修好了,答案是完全不相关的。
这是因为我忘记在 SCREEN 的渲染方法中添加“delta”参数。仍然是渲染(),但在一个完全不同的类中,这就是为什么我把两者搞混了