在我用python/pygame创建的程序中,屏幕。英国行不通。在我制作的所有其他节目中,屏幕。位块传输工作。
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'
这个错误是由于屏幕变量被分配给一个整数而不是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))
我假设你不打算这么做。记住,矩形对象由位置、宽度和高度组成。
要纠正您的代码,将(sight.rect.x,sight.rect.y)放在位置,而不是像这样:
screen.blit(sight.image,(sight.rect.x,sight.rect.y))
.x和.y对应矩形在(x,y)像素平面上的左上角位置。然后视像将在该位置被分割。
如果你想阅读pygame。矩形对象,我将把它的文档链接放在这里
我希望这对你有帮助。:)