这是我的第一个 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))
将用黑色填充它。还要从绘制形状中取出更新。您应该有一种更新方法来更新所有内容,并有一种绘制方法来绘制所有内容。
我尝试过许多其他方法,包括创建一个矩形和迭代 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))
将用黑色填充它。还要从绘制形状中取出更新。您应该有一种更新方法来更新所有内容,并有一种绘制方法来绘制所有内容。