我试图旋转加载的图像,但我需要按特定的轴旋转。
我这样做:
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创建的行,但我不知道如何使用图像来实现这一点。
任何和所有见解,
感谢
答案 0 :(得分:1)
旋转图像后,在blitting之前,获取图像的新rect,并将rect的位置属性更改回原始位置。
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
我经常使用中心,但没有使用其他位置。可能值得修补。