我正在尝试旋转加载的图像,但我需要它按特定轴旋转。
我是这样做的:
arm = pygame.image.load('w1.png').convert()
arms = [pygame.transform.rotate(arm, deg) for deg in range(0, 360, 4)]
然后我用以下方法遍历武器的指标:
count+=1
arms[count]
旋转确实有效,但它没有正确地绕轴旋转。我已经编写了旋转用 pygame.draw.line 制作的线条的算法,但我不知道如何用图像实现这一点。
感谢任何和所有见解,
谢谢
最佳答案
旋转图像后,blitting 之前,获取图像的新矩形,并将矩形的位置属性更改回原始位置。
IE:保存矩形中心,旋转图像,获取新矩形,设置新矩形中心,blit。
使用 center 属性仅将其围绕图像中心旋转,但也许使用其中一个角将使您走上正确的道路。
def RESET_ROTATED_RECT(old_rect,rotated_image):
old_pos=old_rect.center
newrect=rotated_image.get_rect()
newrect.center=old_pos
return newrect
我经常使用中心位置,但没用过其他位置。它可能值得修补。
关于python - Pygame,按轴旋转图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22545234/