Python pygame.transform.rotate

时间:2011-11-16 02:23:18

标签: python user-interface pygame

我是pygame和python本身的新手。 但是现在,我必须做一个微调器。它应该随机停止。 我在想的是我可以拥有random.randint(0,360)。所以我可以随意停止。但是现在,我只能旋转90度,否则它会移动屏幕。

任何帮助都会有用。

由于

import sys, pygame, time

pygame.init()

screen = pygame.display.set_mode([600,600])
black = 255,255,0
ball = pygame.image.load("wheel.gif")
temp = pygame.image.load("wheel.gif")


ballrec = ball.get_rect().center

while 1:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
    screen.fill(black)
    ball = pygame.transform.rotate(ball, 45)
    ballrec = ball.get_rect().center
    screen.blit(ball, ballrec)
    pygame.display.flip()
    time.sleep(1)

2 个答案:

答案 0 :(得分:1)

我注意到如果你继续反复旋转旋转的物体,正如你在ball = pygame.transform.rotate(ball, 45)中所做的那样,精灵变形并开始离开屏幕。我通常会保留原始图像并在旋转360度时切换回原始图像。

答案 1 :(得分:0)

如上所述here,按不可被90整除的角度旋转需要填充图像。您应该只能将图像blit以始终以128,128为中心,或者您可以根据需要修剪图像的边缘。