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

2024-09-30 01:23:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用一个for循环和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错误。我还有别的办法吗?在


Tags: 实例方法rectforgetobjects错误range
2条回答

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

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

还是我误解了你的问题?在

那么,在你的代码中到底有什么不起作用呢?我看不出有什么问题。奇怪的是为什么通径表面尺寸要放在方括号内,但这可能不会造成误差,这也是可以接受的。什么时候出现out of range错误?在

相关问题 更多 >

    热门问题