在Pygame中使用矩形的不同模式

时间:2019-05-30 13:11:42

标签: python pygame

我正在尝试打印图案。 Pattern

在C ++中,当我们使用'*'打印图案时,当我们想在特定位置打印图案时,我们将打印空间。但是在使用矩形的pygame中,我们希望[x,y]坐标将其绘制在屏幕上。正如您在模式中看到的那样,我需要从左开始的4块空间,然后绘制一个矩形,在第二行中绘制3个块空间,然后再绘制两个矩形,依此类推。同样,对称性也应该存在。 我无法准确绘制它。请帮我。

以下是我的代码-:

import pygame

pygame.init()
screen_width = 580
screen_height = 650

screen = pygame.display.set_mode((screen_width,screen_height))

brick_width = 60
brick_height = 20
bricks = []

k = 4
for i in range(5):
    for j in range(0,i+1):
        bricks.append(pygame.Rect(k*brick_width,i * (brick_height+2),brick_width,brick_height))
k -= 1
done = False

while not done:
        for event in pygame.event.get():
                if event.type == pygame.QUIT:
                        done = True

        for i in range(len(bricks)):
            pygame.draw.rect(bricks[i])
pygame.display.flip()

1 个答案:

答案 0 :(得分:0)

我建议看这本教科书,尤其是提到get_rect()方法的部分。

https://inventwithpython.com/makinggames.pdf

通常,您似乎需要Rect对象。这些包含有关给定对象的所有位置和尺寸信息,可让您计算命中检测等。使用blit()运算符和图像,您还可以在屏幕上表示这些矩形。

从pygame的基础知识开始,并结合示例,对本书进行浏览。尽管某些部分可能看起来很乏味,但了解每个对象的工作原理至关重要。