2024-09-20 22:21:06 发布
网友
我刚开始一个非常简单的pygame代码,在白色背景上画一条绿线。但是,我必须使用pygame.display.flip游戏机()为了让它出现,但似乎每次我做出改变时都要使用它,这对我来说太不切实际了。我错过什么了吗?在
是的,每次更新屏幕时都必须调用它。默认情况下,pygame使用双缓冲Wiki link。在
这是有原因的。双缓冲是一种防止“闪烁”的技术。基本上,你想把一个帧绘制到内存而不是监视器上,然后在它被绘制时一次将其推送。否则,您可以看到同一帧的不同元素在不同的时间向上移动。在
你要做的是每帧绘图只调用pygame.display.flip()一次,而不是在每次更改之后。通常,这是通过有一个“draw”函数来完成的,该函数在物理操作和游戏规则完成后在帧末尾调用,而在draw结束时调用flip()。在
pygame.display.flip()
draw
flip()
是的,每次更新屏幕时都必须调用它。默认情况下,pygame使用双缓冲Wiki link。在
这是有原因的。双缓冲是一种防止“闪烁”的技术。基本上,你想把一个帧绘制到内存而不是监视器上,然后在它被绘制时一次将其推送。否则,您可以看到同一帧的不同元素在不同的时间向上移动。在
你要做的是每帧绘图只调用
pygame.display.flip()
一次,而不是在每次更改之后。通常,这是通过有一个“draw
”函数来完成的,该函数在物理操作和游戏规则完成后在帧末尾调用,而在draw
结束时调用flip()
。在相关问题 更多 >
编程相关推荐