旋转 pygame 屏幕
Rotate pygame screen
我想将我的 pygame window 的屏幕旋转 90 度,但找不到任何功能可以这样做。我试过 p.transform.rotate() 但我猜它只用于图像。任何帮助将不胜感激
当然你可以使用与显示器关联的pygame.transform.rotate()
. pygame.display.set_mode()
just generates a pygame.Surface
。
但是,pygame.transform.rotate()
returns 一个新的但旋转的 pygame.Surface
对象。因此,您必须 blit
表面返回显示:
window.blit(pygame.transform.rotate(window, 90), (0, 0))
最小示例:
import pygame
pygame.init()
window = pygame.display.set_mode((300, 300))
font = pygame.font.SysFont(None, 100)
clock = pygame.time.Clock()
text = font.render("Display", True, (255, 255, 0))
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
window.fill(0)
window.blit(text, text.get_rect(center = window.get_rect().center))
window.blit(pygame.transform.rotate(window, 90), (0, 0))
pygame.display.flip()
clock.tick(60)
pygame.quit()
exit()
我想将我的 pygame window 的屏幕旋转 90 度,但找不到任何功能可以这样做。我试过 p.transform.rotate() 但我猜它只用于图像。任何帮助将不胜感激
当然你可以使用与显示器关联的pygame.transform.rotate()
. pygame.display.set_mode()
just generates a pygame.Surface
。
但是,pygame.transform.rotate()
returns 一个新的但旋转的 pygame.Surface
对象。因此,您必须 blit
表面返回显示:
window.blit(pygame.transform.rotate(window, 90), (0, 0))
最小示例:
import pygame
pygame.init()
window = pygame.display.set_mode((300, 300))
font = pygame.font.SysFont(None, 100)
clock = pygame.time.Clock()
text = font.render("Display", True, (255, 255, 0))
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
window.fill(0)
window.blit(text, text.get_rect(center = window.get_rect().center))
window.blit(pygame.transform.rotate(window, 90), (0, 0))
pygame.display.flip()
clock.tick(60)
pygame.quit()
exit()