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

时间:2017-03-04 23:03:27

标签: python-2.7 pygame geometry pygame-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

出于某种原因,我无法看到圆圈。但是,显示窗口的颜色会根据我在surface1中设置的内容而改变。为什么这样做?任何帮助,将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:1)

圆圈比大表面大。 pos参数是圆的中心,半径大于宽度和高度的一半。尝试绘制更小的东西。

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