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

avatar
Mahasin
8 мая 2021 в 22:55
52
1
1

Я пробовал много других методов, включая создание прямоугольника и повторение координаты 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()

строгий текст

Источник

Ответы (1)

avatar
marienbad
8 мая 2021 в 23:01
1

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

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

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