如何在列表中显示一个矩形
how to display a rect inside a list
我想做的是创建一个列表,我将在其中附加一些矩形,然后使用它们的索引绘制它们。但是,由于某种原因,这似乎不起作用,应用程序中未显示形状(矩形)window,所以如果有人能指出正确的方向或给我另一种方法,我将不胜感激。
提前致谢。
def buffer(self):
self.blocks = [] # rect container
"""
---- creating and appending rects ----
"""
for x in range(5):
self.blocks.append(
pygame.draw.rect(
self.screen,
(255,255,0),
[0,0,50,50]
)
)
while 1:
self.key = pygame.key.get_pressed()
for event in pygame.event.get():
if event.type == pygame.QUIT:
return 0
self.screen.fill((0,0,0))
self.blocks[0] # draw rect
pygame.display.update()
self.clock.tick(self.fps)
pygame.quit()
sys.exit()
quit()
至少创建具有颜色、x、y、宽度、高度的元组
self.blocks = [] # rect container
# creating and appending rects
for x in range(5):
self.blocks.append( ((255,255,0),[0,0,50,50]) )
然后就可以用它来画rect了
# draw rect
color, (x, y, w, h) = self.blocks[0]
pygame.draw.rect(self.screen, color, pygame.Rect(x, y, w, h))
pygame.draw.rect
在屏幕上创建矩形,但不创建您可以保留在列表中的对象。
我想做的是创建一个列表,我将在其中附加一些矩形,然后使用它们的索引绘制它们。但是,由于某种原因,这似乎不起作用,应用程序中未显示形状(矩形)window,所以如果有人能指出正确的方向或给我另一种方法,我将不胜感激。
提前致谢。
def buffer(self):
self.blocks = [] # rect container
"""
---- creating and appending rects ----
"""
for x in range(5):
self.blocks.append(
pygame.draw.rect(
self.screen,
(255,255,0),
[0,0,50,50]
)
)
while 1:
self.key = pygame.key.get_pressed()
for event in pygame.event.get():
if event.type == pygame.QUIT:
return 0
self.screen.fill((0,0,0))
self.blocks[0] # draw rect
pygame.display.update()
self.clock.tick(self.fps)
pygame.quit()
sys.exit()
quit()
至少创建具有颜色、x、y、宽度、高度的元组
self.blocks = [] # rect container
# creating and appending rects
for x in range(5):
self.blocks.append( ((255,255,0),[0,0,50,50]) )
然后就可以用它来画rect了
# draw rect
color, (x, y, w, h) = self.blocks[0]
pygame.draw.rect(self.screen, color, pygame.Rect(x, y, w, h))
pygame.draw.rect
在屏幕上创建矩形,但不创建您可以保留在列表中的对象。