Это мой первый проект на питоне, и я пытался переместить простой прямоугольник вниз по экрану, пока блоки тетриса падают, но терпит неудачу

Я пробовал много других методов, включая создание прямоугольника и повторение координаты y, но это создает длинную строку, которая мне не нужна. Это мой OOB подход к этому, и это не очень хорошо, но, пожалуйста, потерпите меня, так как я новичок. Я также попробовал код из документации, и он также создал линию прямоугольников. Пожалуйста, помогите мне

class Rectangle:
    def __init__(self, x, y):
        self.x = x
        self.y = y
        self.rect=pygame.draw.rect(window,(255,0,0),pygame.Rect(x,y,50,50))
    def draw_shape(self,x,y):
        self.rect=pygame.draw.rect(window,(255,0,0),pygame.Rect(x,y,50,50))
        pygame.display.update()
    def move_shape(self,x):
        for i in range(0,10):
            x=x+50*i
            self.draw_shape(x, 0)

recT= Rectangle(0,0)
recT.draw_shape(0,0)
while running==True:
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            running=False
    recT.move_shape(0)
    pygame.display.update()

сильный текст


person Mahasin    schedule 08.05.2021    source источник


Ответы (1)


Вы не очищаете экран, поэтому старые прямоугольники все еще там.

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

заполнит его черным. Также удалите обновление из формы рисования. У вас должен быть один метод обновления, чтобы обновлять все, и один метод рисования, чтобы все рисовать.

person marienbad    schedule 08.05.2021