【问题标题】:Reopening a game fullscreen is being broken in pygame在pygame中重新打开游戏全屏被破坏
【发布时间】:2020-06-22 20:56:03
【问题描述】:

我正在尝试在 pygame 中制作一个 700x700 的全屏游戏,但是每当我退出游戏并重新进入时,屏幕就会中断,显示重新打开游戏之前打开的内容。如何在不改变屏幕宽度和高度的情况下修复它?

Width, Height = 700, 700
win = pygame.display.set_mode((Width, Height), pygame.FULLSCREEN)

【问题讨论】:

  • 你在使用硬件加速吗?
  • 什么是硬件加速?
  • 你的意思是我根据播放器屏幕的分辨率换屏吗?
  • 您使用的是pygame.HWSURFACE 还是pygame.DOUBLEBUFF,因为这两个选项中的任何一个都会阻止屏幕在最小化时自动刷新,从而迫使您手动执行此操作
  • 另外,请发布您的代码。如果您不发布代码,我们将无法在您的代码中发现问题

标签: python python-3.x pygame fullscreen fullscreenchange


【解决方案1】:

每当您的窗口再次被激活时,您都必须重置全屏修饰符。这可能是新版本 pygame 中的错误。

您可以使用pygame.ACTIVEEVENT 检测游戏何时最大化。你可以在你的事件循环中加入这样的东西:

if event.type == pygame.ACTIVEEVENT:
    if event.gain == 1:
        win = pygame.display.set_mode((Width, Height), pygame.FULLSCREEN)

【讨论】:

    猜你喜欢
    • 2019-08-09
    • 2014-12-22
    • 1970-01-01
    • 1970-01-01
    • 2013-12-24
    • 1970-01-01
    • 1970-01-01
    • 2016-09-28
    • 2022-01-24
    相关资源
    最近更新 更多