2014-01-12 176 views
2

我一直玩功夫pygame.transform.rotate()_get_rect()_get_rect().center_get_size()Pygame和一個精靈的旋轉

我有一個箭頭的圖像,我想旋轉,我很難理解發生了什麼。

我的問題是從哪一點(x,y)是旋轉完成?

在我的例子中,我有一個尺寸爲28x182的圖像,我把它放在200,100與screen.blit()

回答

2

您可以使用實例here旋轉,同時保持圖像的中心:

def rot_center(image, rect, angle): 
    """rotate an image while keeping its center""" 
    rot_image = pygame.transform.rotate(image, angle) 
    rot_rect = rot_image.get_rect(center=rect.center) 
    return rot_image,rot_rect 

我似乎無法找出什麼旋轉pygame中心實際上採用的是,條的引用here

它不會圍繞原點或任何特定點旋轉:旋轉的固定點取決於表面尺寸和旋轉角度

+0

好的,謝謝我會研究這個。 – hzcodec

0

原始文檔似乎沒有指定您的問題的答案。

pygame.transform.rotate() 

未經過濾的逆時針旋轉。角度參數代表度數並可以是任何浮點值。負角度量將順時針旋轉。

除非以90度的增量旋轉,否則圖像將被填充得更大以保持新的尺寸。如果圖像具有像素alpha,則填充區域將是透明的。否則,pygame會選擇一個與表面顏色或顏色匹配的顏色相匹配的顏色。

+0

是的,我同意文件。旋轉90度以外的增量必須非常常見,用戶需要這樣做。 – hzcodec