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 参数是圆心,半径大于宽度和高度的一半。试着画小一些。
此外,操纵如此巨大的曲面会导致性能非常差。
我想用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 参数是圆心,半径大于宽度和高度的一半。试着画小一些。
此外,操纵如此巨大的曲面会导致性能非常差。