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 - это центр круга, а радиус больше половины ширины и высоты. Попробуйте нарисовать что-нибудь поменьше.
Кроме того, манипулирование такой огромной поверхностью приведет к очень плохой производительности.