【问题标题】:how do I place the pygame screen in the middle?如何将 pygame 屏幕放在中间?
【发布时间】:2016-12-06 19:49:02
【问题描述】:

我使用包含 init 的 pygame 制作了一个游戏。 在其他“.py”文件中,我创建了另一个从主游戏运行的 init。 但是,第二个 init 在主 init 的 [0,0] 位置打开,我想移动它。 照片上红框标记的部分,是第二个init的视觉部分。

我使用的是 Python 2.7,谢谢!!

【问题讨论】:

    标签: python python-2.7 pygame


    【解决方案1】:

    centered 和 position 似乎都不适合我,但问题的原因可能与版本有关,我的第一个假设是版本太新:

    pygame 2.0.2.dev2 (SDL 2.0.16, Python 3.9.7)
    

    更新

    我的问题似乎是由于pygame zero。如果我只是使用pygame,那么该解决方案效果很好。

    import pygame
    
    #import pgzero, pgzrun, pygame
    

    【讨论】:

      【解决方案2】:

      我相信您正在寻找的是:os.environ['SDL_VIDEO_CENTERED'] = '1'。在您致电pygame.init() 之前输入该行。这行代码试图让你的窗口尽可能地居中。如果您想自己定位窗口,可以使用以下行:os.environ['SDL_VIDEO_WINDOW_POS'] = str(position[0]) + "," + str(position[1]) 将 x 值放在 0 的位置,将 y 值放在 1 的位置。有关 pygame/SDL 环境变量的更多信息,请参见此处:https://www.libsdl.org/release/SDL-1.2.15/docs/html/sdlenvvars.html

      【讨论】:

      • 好的,首先你说init 我假设你的意思是一个pygame 窗口。如果第二个窗口是您要居中的窗口,则进入包含 second 窗口的文件。在您使用第二个窗口写入 pygame.init() 之前,请在您的文件中写入 os.environ['SDL_VIDEO_CENTERED'] = '1'。附带说明一下,如果这是您的想法,您创建的两个窗口将不会连接。
      猜你喜欢
      • 1970-01-01
      • 2013-11-28
      • 1970-01-01
      • 1970-01-01
      • 2011-08-30
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      相关资源
      最近更新 更多