【问题标题】:Making a surface fullscreen in pygame在pygame中制作表面全屏
【发布时间】:2014-06-13 09:30:35
【问题描述】:

我有一个显示表面

screen = pygame.display.set_mode((640, 480), pygame.RESIZABLE)

然后我想制作全屏,我这样做了

screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)

这会导致屏幕进入全屏状态。但是,表面不会占据整个计算机屏幕,两侧都有黑色空间,鼠标只会在表面区域内移动。我怎样才能让表面占据我电脑屏幕的整个区域?我正在使用 python 3.3 和 pygame 1.9.2a0。

【问题讨论】:

  • 我有同样的问题,但是当我在 Win7 系统上使用 Python 2.7.3 和 PyGame(版本不确定)时。相同的程序可以完美运行,也可以在任何其他机器上以全屏模式运行,只是在 Win7 上不行。因此,知道您使用的是什么系统会很有趣。
  • 我也在Win7上。我认为问题可能在于 (0, 0) 大小没有获得完整分辨率,但我不确定为什么。如果我将原始显示表面设置为 (0, 0),它确实会达到全尺寸,但如果我全屏显示表面,它不会。
  • 这很有趣。好吧,我会仔细研究一下,我需要让它在任何系统下全屏:/

标签: python-3.x pygame


【解决方案1】:

我想我看到了问题。

是的,pygame 会让游戏全屏显示,但是你选择的尺寸限制了游戏的交互区域,并制作了那些黑色的东西。

我建议把尺寸放大一点。

【讨论】:

  • 不完全是,问题是显示表面没有占据计算机屏幕的整个区域。我现在改写我的问题。
  • 是的,应该。我将使用 os 或其他一些库获得屏幕分辨率,以便表面与屏幕匹配。
【解决方案2】:
screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN

这是您需要使用的唯一一行脚本。使用以下脚本行,您可以将参数添加到上面的全屏代码并限制游戏可以扩展的范围。

screen = pygame.display.set_mode((640, 480), pygame.RESIZABLE)

因此,通过删除,您的游戏应该可以毫无问题地扩展到屏幕的全尺寸。这是我正在使用的代码示例。

# Set the height and width of the screen
screen_width = 1350
screen_height =620
screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)

如果我将可调整大小的代码与我现在的代码结合起来,它将使用 screen_width 和 screen_height 来确定游戏的全屏大小。我对此进行了测试以确保。 希望我能帮到你。

【讨论】:

    猜你喜欢
    • 2018-02-15
    • 2021-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 2013-07-09
    • 1970-01-01
    • 2012-02-16
    相关资源
    最近更新 更多