让PyBox2D在所有平台上运行(Windows,Linux和Mac)

时间:2012-05-22 19:51:54

标签: python python-2.7 box2d python-2.5

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

并安装。那时,它似乎工作,至少基于我的测试。但有一点需要注意的是,当我运行testbed应用程序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方面不太冗长。

1 个答案:

答案 0 :(得分:0)

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

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

所以从传递参数的变量名称开始,我猜你必须省略worldAABB