Python Pygame screen.blit不工作

Python Pygame screen.blit不工作,python,pygame,Python,Pygame,在我用python/pygame创建的程序中,screen.blit不起作用。在我制作的所有其他程序中,screen.blit都起作用 Error: Traceback (most recent call last): File "C:...\Main.py", line 46, in <module> screen.blit(sight.image, sight.rect) AttributeError: 'int' object has no attribut

在我用python/pygame创建的程序中,screen.blit不起作用。在我制作的所有其他程序中,screen.blit都起作用

Error:
    Traceback (most recent call last):
  File "C:...\Main.py", line 46, in <module>
    screen.blit(sight.image, sight.rect)
AttributeError: 'int' object has no attribute 'blit'
错误:
回溯(最近一次呼叫最后一次):
文件“C:…\Main.py”,第46行,在
screen.blit(sight.image,sight.rect)
AttributeError:“int”对象没有属性“blit”

问题中的错误是由于屏幕变量被分配给整数而不是pygame.Surface()对象造成的。可能是您不小心在某处重写了该变量

从我对你们所做的事情的理解来看,你们似乎也在说闪电的位置是一个完整的矩形,而不是一个坐标

当您这样做时:

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对象,我将发布到其文档的链接


我希望这有帮助。:)

这意味着您的屏幕变量是一个int。您可能重写了它的屏幕变量:screen=pygame.display.set_mode((600400),0,32),我的意思是稍后在程序中-在errormuddyfish正确之前将其打印出来。如果需要更多帮助,请向我们展示一些代码。