Pygame屏幕.Blit不工作



在我用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。矩形对象,我将把它的文档链接放在这里

我希望这对你有帮助。:)

最新更新