1

我已经安装了 Python 2.6.6 和 Box2D 2.0.2b1。并且无法创建 box2d 世界 - b2World()。

简单的例子:

import Box2D
Box2D.b2World()

无论我在函数 b2World 中输入什么内容,都会收到此错误:

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    Box2D.b2World()
  File "C:\Python26\lib\site-packages\Box2D\Box2D.py", line 4350, in __init__
    _Box2D.b2World_swiginit(self,_Box2D.new_b2World(*args))
TypeError: new_b2World expected 3 arguments, got 0
4

1 回答 1

3

尝试类似:

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

我查看了 2.0.2 版本,看起来你应该像这样传递你的参数:

worldAABB=box2d.b2AABB()
worldAABB.lowerBound = (-100.0, -100.0)
worldAABB.upperBound = ( 100.0, 100.0)
gravity = (0.0, -10.0)
world = box2d.b2World(worldAABB, gravity, True)
于 2011-10-19T15:40:34.830 回答