如何使用 Pygame 围绕其中心旋转图像?
您可以使用 pygame.transform.rotate 围绕其中心旋转图像() 功能。但是,旋转后的图像会比原始图像大,并且旋转后的图像的中心不会与原始图像的中心相同。
要解决这个问题,需要计算偏移量原始图像的中心和旋转图像的中心之间。然后,您可以使用此偏移量来移动旋转后的图像,使其中心与原始图像的中心处于同一位置。
以下示例代码展示了如何围绕其中心旋转图像:
def rotate_image(image, angle): """Rotates an image around its center. Args: image: The image to be rotated. angle: The angle of rotation in degrees. Returns: The rotated image. """ # Calculate the offset between the center of the original image and the center of the rotated image. offset = (image.get_width() / 2, image.get_height() / 2) # Rotate the image around its center. rotated_image = pygame.transform.rotate(image, angle) # Move the rotated image so that its center is in the same position as the center of the original image. rotated_image = rotated_image.subsurface(pygame.Rect(-offset, -offset, image.get_width(), image.get_height())) # Return the rotated image. return rotated_image
以上是如何在 Pygame 中围绕其中心旋转图像?的详细内容。更多信息请关注PHP中文网其他相关文章!