问题描述
我想为我创造的每个球创造一条轨迹,但我想不出任何可以帮助我做到的事情
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 到屏幕表面)然后每个球的轨迹将永远存在。