Pymunk 创建路径

问题描述

我想为我创造的每个球创造一条轨迹,但我想不出任何可以帮助我做到的事情

def create_balls(space,x,y):
body = pymunk.Body()
body.position = (x,y)
shape = pymunk.Circle(body,10)
shape.density = 1       
shape.elasticity = 1
space.add(body,shape)

return shape
def draw_balls(balls):
 for ball in balls:
    pos_x = int(ball.body.position.x)
    pos_y = int(ball.body.position.y)
    pygame.draw.circle(display,(red,green,blue),(pos_x,pos_y),10)

解决方法

您需要跟踪球的旧位置。因此,例如,每 1 秒将球的位置添加到列表中(如果列表太长,假设超过 10,则删除第一项)。然后在列表中的每个位置画一个球。

或者,您可以将球绘制到您永远无法清除的表面上。 (然后将那个表面 blit 到屏幕表面)然后每个球的轨迹将永远存在。