我在运行Debian Wheezy 7.0的Raspberry Pi上使用Pymunk 3.0.0。当我尝试使用'pymunk.Segment‘函数创建一个形状时,我最终只得到了多边形的第一条线。在Flipper和BouncingBalls演示中也会发生同样的情况,所以我非常确定这不是我的代码。
例如..。
static_body = pymunk.Body()
static_lines = [pymunk.Segment(static_body, (150, 100.0), (50.0, 550.0),3.0)
,pymunk.Segment(static_body, (450.0, 100.0), (550.0, 550.0), 3.0)
,pymunk.Segment(static_body, (50.0, 550.0), (300.0, 600.0), 3.0)
,pymunk.Segment(static_body, (300.0, 600.0), (550.0, 550.0), 3.0)
,pymunk.Segment(static_body, (300.0, 420.0), (400.0, 400.0), 3.0)
]
for line in static_lines:
line.elasticity = 0.7
line.group = 1
space.add(static_lines)...would仅创建从150,100到50,550的行,而不创建其他4行。
当我试着用PyGame绘制线条时,第一条线就画好了,但剩下的只是身体所在位置的一条很短很细的线。
由于在示例中发生了这种情况,我假设这是Pymunk/Chipmunk/Linux的一个bug,但在Google上找不到任何东西。
任何非常感谢的帮助(noob btw)
戴夫。
发布于 2019-11-30 03:45:00
旧版本的pymunk可能希望每个新的身体或形状都作为不同的参数添加到space.add()中。
因此,尝试将space.add(static_lines)更改为space.add(*static_lines)。
https://stackoverflow.com/questions/16240778
复制相似问题