如何在列表中显示rect

时间:2015-11-27 09:50:26

标签: python list pygame rect

我要做的是创建一个列表,在其中我将附加一些rects,然后使用它们的索引绘制后者。然而,由于某种原因,这似乎不起作用形状(rect)没有显示在应用程序窗口中,所以如果有人指出我正确的方向或给我另一种方法,我会很感激。

提前感谢。

def buffer(self):

    self.blocks = [] # rect container


    """
    ---- creating and appending rects ----

    """

    for x in range(5):
        self.blocks.append(

            pygame.draw.rect(
                self.screen,
                (255,255,0),
                [0,0,50,50]
                )

            )

    while 1:

        self.key = pygame.key.get_pressed()

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                return 0


        self.screen.fill((0,0,0))

        self.blocks[0] # draw rect

        pygame.display.update()
        self.clock.tick(self.fps)


    pygame.quit()
    sys.exit()
    quit()

1 个答案:

答案 0 :(得分:0)

创建至少具有颜色,x,y,宽度,高度的元组

self.blocks = [] # rect container

# creating and appending rects

for x in range(5):
    self.blocks.append( ((255,255,0),[0,0,50,50]) )

然后你可以用它画出rect

# draw rect
color, (x, y, w, h) = self.blocks[0] 
pygame.draw.rect(self.screen, color, pygame.Rect(x, y, w, h)) 

pygame.draw.rect在屏幕上创建rect但不创建可以保留在列表中的对象。