1

我试图让我的 Box2D 代码在所有 3 个平台上运行良好。它在 Windows 上运行良好,我只是安装了 Python 2.5,设置了我的环境路径,然后从以下位置下载了 PyBox2D: http ://code.google.com/p/pybox2d/downloads/list

并安装。在那一点上,它似乎有效,至少根据我的测试。然而,一个警告是,当我运行测试平台应用程序 pygame_main.py 时它失败了......但也许它只是没有从 pybox2d 更改或类似的东西中更新......

在 Linux 上,如何做到这一点很棘手,更何况如何实际分发游戏......我们已经安装了 Python 2.5,并从 svn 中检查了 pybox2d 的主干,构建它并运行设置。然而,当我们真正尝试创造一个世界时

File "box2dtest.py", line 28, in main world = box2d.b2World(worldAABB, gravity, doSleep)
TypeError: init() takes at most 3 arguments (4 given)

这也是我在尝试将游戏构建到 Python 2.7 时遇到的错误。老实说,我不确定从这里该怎么做。

如果我能确定它在 Mac 上运行良好,我可以放弃让它在 Linux 上运行的想法。我希望它能够在所有系统上完美运行 :) 老实说,在我理想化的世界里,游戏的设置会很简单。我只是在寻找人来帮助我弄清楚我是否陷入了死胡同,或者是否有希望让它发挥作用。:)

让我知道我可以提供哪些其他信息来帮助描述问题。我的伙伴在 linux 上设置了它,这就是为什么我的描述在 linux 方面不太冗长的原因。

4

1 回答 1

0

这将有助于为代码提供更多上下文。在代码第 28 行,您调用了带有许多参数的 b2World。分发中的examples/hello.py调用b2World()如下:

b2World(gravity=(0,-10), doSleep=True)

因此,从您传递参数的变量名称中,我想您必须省略worldAABB.

于 2013-03-28T05:55:30.990 回答