旋转 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()