在我用python / pygame创建的程序中,screen.blit不起作用。在我制作的所有其他程序中,screen.blit都能正常工作。
import requests
for page_number in range(1,total_pages):
url = 'https://www.bbb.org/search/?type=category&input=' + keyword + '&filter=business&page=' + str(page_number)
respData = requests.get(url).content
business_address = re.findall(address_pattern,str(respData))
address_list.extend(business_address)
答案 0 :(得分:1)
有问题的错误是由屏幕变量分配给整数而不是pygame.Surface()对象引起的。也许你不小心在某处重写了变量?
从我能做的事情来看,你似乎也说明了blit的位置是一个完整的矩形而不是一个坐标。
当你这样做时:
screen.blit(sight.image,sight.rect)
该计划的目的是:
screen.blit(sight.image,(sight.rect.x,sight.rect.y,sight.rect.width,sight.rect.height))
我假设你不打算这样做。请记住,rect对象由位置,宽度和高度组成。
要更正您的代码,请将(sight.rect.x,sight.rect.y)放在位置所在的位置,如下所示:
screen.blit(sight.image,(sight.rect.x,sight.rect.y))
.x和.y对应于(x,y)像素平面中矩形的左上角位置。然后视线图像将在该位置显示。
如果你想阅读pygame.Rect对象,我会发布链接到它的文档here
我希望这会有所帮助。 :)