如何在Pygame中创建多个矩形实例?
我正在尝试使用PyGame通过一个循环来创建多个矩形,但我不太清楚该怎么做。我的第一种方法是把所有的矩形实例存储在一个数组里,但接着我遇到了另一个问题,就是怎么给它们分配一个.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
你可以直接创建一堆矩形,比如这样:
for i in range(0,amount):
objectsRect.append(pygame.Rect(left,top,width,height))
或者我是不是理解错了你的问题?