这是我的第一个 python 项目,我一直在尝试在屏幕上移动一个简单的矩形,因为俄罗斯方块掉落但失败了

Its my first python project and i have been trying to move a simple rectangle down the screen as tetris blocks fall down but failing

我尝试过许多其他方法,包括创建一个矩形和迭代 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()

强文本

您没有清除屏幕,所以旧的矩形仍然存在。

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

将用黑色填充它。还要从绘制形状中取出更新。您应该有一种更新方法来更新所有内容,并有一种绘制方法来绘制所有内容。