如何在Pygame中创建多个矩形实例?

时间:2014-10-31 18:59:12

标签: python pygame

我试图使用PyGame的for循环创建多个矩形,但我并不清楚如何做到这一点。我的第一种方法是将所有矩形实例存储在一个数组中,但后来遇到了另一个问题,如何为它分配一个.get_rect()。所以我这样做了:

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个错误。还有另一种方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

你可以直接实例化一堆Rects,比如

for i in range(0,amount):
    objectsRect.append(pygame.Rect(left,top,width,height))

或者我误解了你的问题?

答案 1 :(得分:0)

那么你的代码实际上什么不起作用?我在这里看不到任何问题。然而奇怪的是,为什么在方括号中传递表面大小,但这可能不会导致错误,这也是可以接受的。你什么时候有out of range错误?