我刚开始学习pygame,并且有一张图片[https://imgur.com/a/t24fNiA],它左右移动。由于它是一个圆,我希望它每次移动都旋转/滚动一点。
我已经在线检查了这一点,但无法真正将其应用于我自己的作品。到目前为止,我只剩下def rotcenter(image, angle):
。我真的不知道从这里去哪里。
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
xchange = -5
# image rotates
elif event.key == pygame.K_RIGHT:
xchange = 5
# image rotates
代替# image rotates
,我想调用一个将图像旋转一定角度的子例程。
理想情况下,由于x的每次更改均为5,因此不应太远,但希望有人能帮助我提出解决方案。请尝试简化/解释我可能不理解的内容,我只在大约40分钟的最佳时间里一直在使用pygame,主要是阅读教程。
任何帮助将不胜感激!谢谢:)
答案 0 :(得分:0)
您可以使用pygame.transform.rotate旋转图像。
def rotcenter(image, angle):
return pygame.transform.rotate(image, angle)
将是您的职责。您将已经加载的pygame图片传递给它,并返回一个旋转的新曲面。因此,当您要旋转图像时,您会做类似的事情
image = rotcenter(image, 5)
然后将新图像设为blit。
我用来测试的代码:
import pygame
pygame.init()
display = pygame.display.set_mode((400, 400))
image = pygame.image.load('test.png') #Use the name of your image
rotated = pygame.transform.rotate(image, 90)
done = False
while not done:
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True
display.blit(image, (0, 0))
display.blit(rotated, (100, 0))
pygame.display.flip()
pygame.quit()