pygame窗口显示问题

pygame窗口运行时闪一下就消失,怎么保持窗口显示不消失,帮我看看怎么办

img

代码写错了啊,run_game()方法是放在Class里的,你这把它拿出来了,整体要缩进去

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7492496
  • 这篇博客你也可以参考下:【Pygame小游戏】趣味益智游戏 :打地鼠,看一下能打多少只呢?(附源码)
  • 除此之外, 这篇博客: Pygame添加直线、图形中的 Pygame显示图形 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • pygame专门提供了一个画图的模块,叫做draw,其中又有很多模块

  • 您还可以看一下 程序员学院老师的Python专项训练 巩固语法+数据分析+商城开发课程中的 Pygame开发实战之游戏简介与分析小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    根据参考资料和问题描述,可以尝试修改代码中的部分来解决pygame窗口闪烁并消失的问题。

    在原有代码的基础上,需要做以下修改:

    1. 在窗口创建后立即添加一个事件 pygame.event.pump(),这样可以确保系统在每个迭代周期内都能接收到外部事件,从而避免窗口无响应和闪烁。
    2. pygame.display.flip()替换为pygame.display.update()pygame.display.update()只会更新窗口中有变化的区域,速度更快。
    3. 添加一个延迟目的是为了控制帧率,避免窗口一闪而过。
    4. 在游戏逻辑和绘制代码之前添加一个背景填充代码,这样可以避免窗口中未绘制部分的闪烁。

    修改后的代码如下所示:

    import pygame
    import time
    
    pygame.init()
    
    # 设置窗口尺寸
    win_width, win_height = 800, 600
    win_size = (win_width, win_height)
    
    # 创建窗口
    win = pygame.display.set_mode(win_size)
    
    running = True
    while running:
        # 处理外部事件
        pygame.event.pump()
    
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                running = False
    
        # 填充背景颜色
        win.fill((0, 0, 0))
    
        # 添加游戏逻辑和绘制代码
    
        # 更新显示
        pygame.display.update()
    
        # 延迟一段时间
        pygame.time.delay(10)  # 可调整延迟的时间,单位为毫秒
    
    pygame.quit()
    

    请按照上述步骤修改代码并尝试运行,看是否能够解决窗口闪烁并消失的问题。如果问题仍然存在,请提供更多的详细信息以便我能够进一步帮助你。