2011-01-28 23 views
1

問候,請問rect.center更改rect屬性?

看來我在pygame中正在進行的一個項目有點麻煩。 對於我的目標之一,我用:

image.get_rect() 

並將其分配到:

self.rect 

我明白了get_rect功能默認座標給出了(0,0)的值。 結果,我用:

self.rect.center = (320,240) 

要大致放置精靈在屏幕的中間。但是,後來在一則hitTest功能,我想打電話:

self.rect.colliderect(other_rect) 

我得到一個錯誤:「元組」對象沒有分配「colliderect」。

發生這種情況是因爲self.rect.center賦值會改變self.rect的屬性嗎?

回答

1

元組類型是不可變的。也就是說,一旦設置,你就不能改變它。

我假設碰撞正試圖修改一個元組。

使用列表來代替該元組。

+0

我明白你的意思了。我實際上發現它不讓我執行碰撞點模塊的原因。在前面的腳本中,我創建了self.rect =一個元組,這就是爲什麼它向我拋出錯誤,因爲它賦予了self.rect另一個值(它不再是(rect))。無論如何,self.rect.center調用不會影響rect對象的狀態。這是爲什麼它給了我這個錯誤的完全不同的原因。感謝您的幫助,謝謝! – user577317 2011-01-28 05:58:54