PyGame-如何循环绘制图像

时间:2019-01-19 10:48:04

标签: python-3.x pygame

我正在PyGame中制作打砖块游戏。一切正常,直到我想与图像交换“矩形砖”。我尝试使用嵌套的for循环将它们添加到列表中,然后绘制列表。但是,它们每个都打印在另一个的顶部。我应该改变什么?预先感谢,这是代码

def create_bricks(self):
    self.bricks = []
    self.brick = pygame.image.load("brick.png")
    self.brick_rect = self.brick.get_rect() 
    y_pos = 30
    for i in range(5):
        x_pos = 50
        for j in range(8):
            self.brick_rect.center = (x_pos, y_pos)
            self.bricks.append(self.brick_rect)
            x_pos += 60
        y_pos += 20

def draw_bricks(self):
    for brick in self.bricks:
        self.screen.blit(brick, self.brick_rect)

我应该使用screen.blits而不是blit吗?那参数呢?

1 个答案:

答案 0 :(得分:0)

您正在不断修改同一对象的矩形。那行不通。

相反,创建一个坐标列表,然后根据该列表将同一图像平移到不同的目的地。