如何使用 Pygame 圍繞影像中心旋轉影像?
簡短答案:
要使用 Pygame 旋轉影像同時保留其中心和大小,請適當調整矩形尺寸。取得原始影像矩形,並使用 pygame.transform.rotate() 建立旋轉影像。複製與原始矩形對齊的旋轉影像的一部分並將其用作輸出。
詳細答案:
使用 pygame.transform 旋轉影像時。旋轉(),結果影像的尺寸增加。為了保持原始大小,有必要將旋轉後的影像放置在與原始影像相同的位置。
這是解決異常的更新程式碼區塊:
def rot_center(image, angle, x, y): """Rotate an image while keeping its center and size""" rotated_image = pygame.transform.rotate(image, angle) new_rect = rotated_image.get_rect(center=image.get_rect(center=(x, y)).center) return rotated_image, new_rect
此函數傳迴旋轉影像和旋轉影像的邊界矩形。
或者,您可以使用 blitRotateCenter() 函數進行旋轉和旋轉blit 影像:
def blitRotateCenter(surf, image, topleft, angle): rotated_image = pygame.transform.rotate(image, angle) new_rect = rotated_image.get_rect(center=image.get_rect(topleft=topleft).center) surf.blit(rotated_image, new_rect)
以上是如何使用 Pygame 圍繞其中心旋轉圖像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!