繁体   English   中英

如何从 pygame 中的列表中绘制矩形

[英]How to draw rectangles from a list in pygame

它说rect argument is invalid但是当我给出没有变量的相同 rect 时它起作用,这是负责它的代码部分

class Background:
    def __init__(self, background):
        self.background = background
        self.endpoint = 5590
        self.bx = 0
        self.scrolling_right = False
        self.scrolling_right = True
        self.obstacleses = []
    
    def obstacles(self):
        self.obstacleses = pygame.Rect(300, 300, 20, 60)
        print(self.obstacleses)

    def surface(self):
        screen.blit(self.background, (self.bx, 0))
        screen.blit(templar1.image, templar1.pos)
        screen.blit(Rogue.image, Rogue.pos)  
        pygame.draw.rect(screen, (255, 0, 0), self.obstacleses)
        pygame.display.update()

我还在 pygame.draw.rect 中尝试了pygame.draw.rect self.obstacleses(0)但后来我得到list object is not callable

您必须循环绘制矩形:

for obstacle in self.obstacleses:
    pygame.draw.rect(screen, (255, 0, 0), obstacle)
import pygame ... screen = pygame.display.set_mode((WIDTH, HEIGHT)) RECTS = [] RECTS.append( pygame.Rect(10, 10, 60, 60) ) # Use this in mainloop for rect in RECTS: pygame.draw.rect(screen, GREEN, rect)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM