Pygame - возможно ли создать все на одной поверхности и уменьшить ее, чтобы отобразить поверхность?

Я хочу нарисовать несколько кругов большого радиуса на экране, используя 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 ответ

Решение

Круг больше, чем большая поверхность. Аргумент pos - это центр круга, а радиус больше половины ширины и высоты. Попробуйте нарисовать что-нибудь поменьше.

Кроме того, манипулирование такой огромной поверхностью приведет к очень плохой производительности.

Другие вопросы по тегам