Pygame - 是否可以在一个表面上创建所有内容并将其缩小到显示表面?

Pygame - Is it possible to create everything in one surface and scale it down to display surface?

我想用pygame在屏幕上画几个大半径的圆。我想定义一个名为 surface1 的表面,它比我的显示表面 (screen) 大,并在实际尺寸中绘制我的圆圈。一旦我这样做了,我计划重新缩放 surface1 并将其显示在 screen 上。这是我的代码:

import pygame
pygame.init()
live = True
while live:
    surface1 = pygame.Surface((7680, 4320))
    screen = pygame.display.set_mode((1280, 720))
    # pygame.display.flip()
    surface1.fill((255, 255, 255))

    pygame.draw.circle(surface1, (0, 0, 0), (3839, 2160), 4500, 10)
    surface1 = pygame.transform.scale(surface1, (1280, 720))
    surface1.convert()
    screen.blit(surface1, (0, 0))
    pygame.display.update()


    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            live = False

出于某种原因,我看不到圆圈。但是,显示的window的颜色是根据我在surface1里面设置的而变化的。为什么会这样?任何帮助,将不胜感激。提前致谢。

圆比大面大。 pos 参数是圆心,半径大于宽度和高度的一半。试着画小一些。

此外,操纵如此巨大的曲面会导致性能非常差。