我有一个带有pygame可调整大小窗口的程序。

screen = pygame.display.set_mode(size,pygame.RESIZABLE)


由于它是可调整大小的,因此我希望屏幕上的某些元素根据窗口大小来更改位置和大小。

我所有的变量都保存在函数setGet中。我想要传递屏幕尺寸,并让所有变量都取决于传入的屏幕尺寸。

def setGet(screenSize):


我有一个运行命令的循环功能

setGet(screen.get_size())


更改窗口的大小时,get_size()不会立即更新。

调整窗口大小时如何更新屏幕尺寸?

最佳答案

changed = False
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit(0)
        elif event.type == pygame.VIDEORESIZE:
            scrsize = event.size
            width   = event.w
            hight   = event.h
            screen = pygame.display.set_mode(scrsize,RESIZABLE)
            changed = True


pygame.display.init文档页面https://www.pygame.org/docs/ref/display.html#comment_pygame_display_update的注释中几乎完全像这样
从2011-01-25T23:10:3​​5仅进行了少量编辑-戴夫·伯顿谢谢戴夫

10-07 19:32
查看更多