有没有办法正确调整游戏屏幕的大小?

Is there a way to resize properly game's screen?

每次我尝试调整 PyGame window 时,游戏都没有调整大小,它和以前一样,只是有更多的背景。

关于如何使用 window 调整游戏输出大小(并保持比例)的任何想法,是否有方法或我只需要手动编写代码?

你必须自己编码。

不要直接在显示表面上绘制您的游戏,而是在可以调整大小以适应显示表面大小的中间表面上绘制游戏。

这是一个简单的例子:

import pygame
from pygame.locals import *

def main():
    pygame.init()
    screen = pygame.display.set_mode((400, 300),HWSURFACE|DOUBLEBUF|RESIZABLE)
    game_screen = screen.copy()
    pic = pygame.surface.Surface((50, 50))
    pic.fill('dodgerblue')

    while True:
        for event in pygame.event.get():
            if event.type == QUIT: 
                return
            elif event.type == VIDEORESIZE:
                ratio = game_screen.get_rect().width / game_screen.get_rect().height
                new_size = event.size[0], int(event.size[0] / ratio)
                screen = pygame.display.set_mode(new_size, HWSURFACE|DOUBLEBUF|RESIZABLE)

        game_screen.fill('black')
        game_screen.blit(pic, (100, 100))
        screen.blit(pygame.transform.scale(game_screen, screen.get_rect().size), (0, 0))
        pygame.display.flip()
    
main()