在pybox2d中。如何在测试台运行时获取身体状态的信息,例如其速度?

时间:2017-03-14 03:55:39

标签: pygame box2d testbed

Ubuntu 14.04 Python与pybox2d

我想编写一个代理程序,可以在运行testbed时响应运动。 作为我的目标,代理人应该从某些地方读取身体的状态数据是很自然的。然后根据代码对数据做出一些响应。但是pybox2d基于box2d,它是用C ++编写的,我不熟悉。那么谁能给我建议呢。谢谢!

或者,您可以向我推荐另一项物业计划。

1 个答案:

答案 0 :(得分:0)

听起来你喜欢的是一种在Testbed测试中选择一个物体并在其状态下获得文本输出的方法。然而,没有直接的方法来获得关于身体的这种附加信息(不在Box2D 2.3.3或更早的Testbed程序中)。

我确实喜欢这个想法作为Testbed的增强功能。我认为至少在my Box2D fork中我不会这么做。我为此创建了issue

与此同时(直到这样的功能成为您拥有的Testbed版本),您可以通过调试器运行Testbed并使用断点来获取此信息。然而,它必须弄清楚哪个数据结构与哪个主体相关,并且必须弄清楚何时触发断点。

OTOH,如果您要求的是获取身体状态的编程方式,至少在Box2D的C ++版本中,您可以在b2Body对象上调用此方法。例如,GetLinearVelocity()将获得身体的线速度。我怀疑pybox2d具有类似命名的访问机制。