pygame sprites和pygame.display.flip()会产生工件

时间:2012-05-14 10:12:29

标签: python pygame sprite

我正在编写一个用于大学课程的python俄罗斯方块克隆。它就像魅力一样,只要我不想改变下降块的路线。当我加速它们或向左或向右移动块时,我会得到这些文物,如下面的截图所示。

每个块的移动代码都是相同的:

runningBlock.update()
runningBlock.draw(field)
screen.blit(field, (20, 20))
pygame.display.flip()

而update()方法只是将移动对象的中心设置为新位置。屏幕是屏幕截图上的灰色区域,字段是灰色屏幕顶部的白色操场。任何想法,我在这里缺少什么?

BTW,帧率设置为30,应该不是问题,应该吗?

screenshot

1 个答案:

答案 0 :(得分:1)

好的,明白了。我只是在更新块之前重新填充了字段:

field.fill((255, 255, 255))
runningBlock.update()
runningBlock.draw(field)
lyingBlocks.draw(field)
screen.blit(field, (20, 20))
pygame.display.flip()