python - pygame Sprite 和 pygame.display.flip() 导致工件

标签 python pygame sprite

我正在为大学类(class)编写 Python 俄罗斯方 block 克隆程序。只要我不试图改变下落 block 的路线,它就像魅力一样。当我加速它们或向左或向右移动 block 时,我得到了工件,如下面的屏幕截图所示。

block 的每次移动代码都是相同的:

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

而 update() 方法只是将移动对象的中心设置到一个新位置。 screen 是屏幕截图上的灰色区域,field 是灰色屏幕上方的白色 Playground 。知道我在这里缺少什么吗?

顺便说一句,帧速率设置为 30,应该不是问题,对吧?

screenshot

最佳答案

好的,知道了。我只是在更新 block 之前重新填充了该字段:

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

关于python - pygame Sprite 和 pygame.display.flip() 导致工件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10581329/

相关文章:

python - 使python代码运行更快以减少偏移

python - 如何在python中使矩形保持在移动线上

python - pygame.key.get_pressed() 和 event.type 有什么区别?

java - 控制和创建多个 Sprite 数组 Java Libgdx

CSS3 - 在 Sprite 图像的 'background-position' 之间淡入淡出

python - 将输入存储到 python 中的字符串列表中

Python Pandas - 将某些列类型更改为类别

Python, Multiprocessing : what does process. join() 做什么?

python - 平滑跳过不同的 FPS

java - 当相机平移时, Sprite 不会跟随 box2d 主体,但如果相机在 libgdx 中是静态的,则效果良好