我試圖用PyGame for循環創建多個矩形,但我並不十分清楚如何做到這一點。我的第一種方法是將所有矩形實例存儲在一個數組中,但後來遇到了另一個問題,即如何爲其分配.get_rect()
。所以我這樣做:如何在Pygame中創建多個矩形實例?
def MultiRect(amount):
objects = []
objectsRect = []
for i in range(0, amount):
objects.append(pygame.Surface([200,100]).convert())
objects[i].fill((130,130,130))
objectsRect.append(objects[i].get_rect())
所以我試圖做的是使兩個數組,一個存儲實例和其他商店的instance.get_rect()
,但我知道這是錯誤的方式做到這一點,我也得到多個out of range
錯誤。有沒有另外一種方法可以解決這個問題?
如果我使用這個,是否需要使用'.get_rect()'方法來評估碰撞?因爲我的印象是矩形的每個實例都應該有'pygame.Surface.get_rect()'的返回值。 – px06 2014-10-31 22:01:51
@Toby如果您只需要使用Rect對象,則可以像rectObject.colliderect(otherRectObject)那樣測試碰撞。 [pygame文檔](http://www.pygame.org/docs/ref/rect.html#pygame.Rect.contains)對此有幫助 – 2014-11-01 01:22:55