当前位置: 首页 > 知识库问答 >
问题:

pyplay闪烁屏幕修复

邓英卓
2023-03-14

我显示记分板的代码总是闪烁,因为我将背景设置为白色。但我想让这一切停止。那么,有没有一种方法可以让pygame在不更新显示的情况下完成所有这些绘图和填充,并且当绘图完成时,它会显示新的结果,这样我就不必看到每一步,从而不必闪烁?

def score():
    while ScoreTrue:
        pygame.event.get()
        window.fill(white)
        display_score= (display_height/ 1.2)
        message_display("Scoreboard", 2, 5)
        message_meduim("5th place: " + ", ".join( repr(e) for e in Scoreboard[0] ), 3, display_score)
        message_meduim("4th place:" + ", ".join( repr(e) for e in Scoreboard[1]), 3, display_score - 100)
        message_meduim("3rd place:" + ", ".join( repr(e) for e in Scoreboard[2]), 3, display_score - 200)
        message_meduim("2nd place:" + ", ".join( repr(e) for e in Scoreboard[3]), 3, display_score - 300)
        message_meduim("1st place:" + ", ".join( repr(e) for e in Scoreboard[4]), 3, display_score - 400)
        Button("Play again", display_width/1.2,display_height/1.6, display_width/8, display_height/9, red, red_light, "play")

共有1个答案

孔砚
2023-03-14

如果您有一个显示窗口的time循环(我假设您有),那么您可能会在循环中调用pygame.display.flip()pygame.display.update()。因此,您不应该在分数函数中调用pygame.display.update()。删除函数中的pygame.display.update(),然后在你的time循环中调用sco函数。

 类似资料:
  • 实现屏幕闪烁效果,有点类似拍照闪烁时的flash light。 [Code4App.com]

  • 因此,我正在制作一个游戏,在60秒结束时,我想让屏幕改变颜色并显示一些结束文本。我这样设置计时器: 屏幕上显示的很好,但是当结束屏幕出现时,它会在原来的白色屏幕和结束屏幕之间闪烁。由于某种原因,如果我在屏幕上挥动鼠标,它不会闪烁。 “end”是我的游戏中的文本变量 如果这有帮助的话,这也是我在结尾的部分 有没有一种方法可以使它稳定地出现,而不必更改计时器?

  • 我正在用pygame制作一个游戏,在制作这个游戏时,我在屏幕上使用了很多文本。但是当我在我的代码中达到这一点时,第一个写的文本不会闪烁,但是第二个会闪烁,我想改变这一点。而且,当我拿着钥匙时,当我只想让它写一次信时,这封信就会被一遍又一遍地快速地写下来。代码: 编辑:现在唯一的问题是闪烁的文字,因为我得到了一个解决方案

  • 我目前正在为我的libgdx游戏开发一个简单的加载屏幕,但是它有一个问题。加载屏幕完美地工作在android项目,但当它涉及到桌面版本它不工作。目前,加载屏幕应该显示“加载”- 渲染(浮点增量)函数: 以及show()函数: 最终解决方案:更改渲染()函数:公共无效渲染(浮点增量){

  • 在我的反应原生应用程序中,我有一个切换导航器来在认证堆栈和应用堆栈之间导航: 它可以工作,但是当我从AuthStack转到AppStack时,它会闪烁,屏幕会向上移动。我如何防止这种行为增加平稳过渡。

  • 我正在使用LWJGL 2.8.5开发一个3D可视化应用程序。在阅读了项目主页上的第一个教程后,我还阅读了一本OpenGL书籍,进行了更深入的分析。我看到OpenGL中的典型过程是在init函数中绘制场景,然后简单地在一个循环中调用显示的更新。 但是,当我尝试使用LWJGL时,我在显示屏中得到了闪烁效果。消除闪烁的唯一方法是在显示更新周期中重绘场景。为什么会发生这种情况? 为了更好地解释我的问题,我