import pygame
WIDTH, HEIGHT = 1024, 768
pygame.init()
WIN = pygame.display.set_mode((WIDTH, HEIGHT))
skala = pygame.image.load("rock2x3b.jpg")
play = True
if __name__ == "__main__":
FPS = 60
clock = pygame.time.Clock()
square = pygame.Surface((50, 50))
rotated_square = pygame.transform.rotate(square, 30)
WIN.blit(skala, (0, 0))
WIN.blit(rotated_square, (60,60))
pygame.display.flip()
while play:
for event in pygame.event.get():
if event.type == pygame.QUIT:
quit(0)
此代码应显示旋转的正方形。但请参阅带有结果的图像。 为什么旋转不起作用?
您需要创建一个带有 Alpha 通道的表面:
square = pygame.Surface((50, 50))
square = pygame.Surface((50, 50), pygame.SRCALPHA)
表面始终是矩形。当表面旋转时,表面会变大(请参阅如何使用 PyGame 围绕其中心旋转图像?)。表面的新区域必须填充一些东西。如果表面没有 Alpha 通道并且是单色的,则新区域将始终填充表面的颜色。结果是一个更大的实心矩形。