我对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)发布于 2011-11-16 13:27:54
我注意到,如果你像在ball = pygame.transform.rotate(ball, 45)中那样反复旋转旋转的对象,精灵就会变形并开始移出屏幕。我通常保留原始图像,当我旋转360度时切换回原来的图像。
发布于 2011-11-16 13:16:16
正如here所指出的,旋转不能被90整除的角度需要对图像进行填充。您应该能够只将图像blit始终位于128,128的中心,或者您可以根据需要修剪图像的边缘。
https://stackoverflow.com/questions/8145864
复制相似问题