Почему это дает мне TypeError: объект 'int' не является подписным - PullRequest
0 голосов
/ 05 апреля 2020

Итак, у меня есть мировой класс

class World:
    def __init__(self, size, spawnMultiplier, airtiles):
        self.Diamond = pygame.image.load('C:\\Users\\kapro\\Documents\\miner\\Miner\\Textures\\Diamond.png')
        self.Air = pygame.image.load('C:\\Users\\kapro\\Documents\\miner\\Miner\\Textures\\Air.png')
        self.Grass = pygame.image.load('C:\\Users\\kapro\\Documents\\miner\\Miner\\Textures\\Grass.png')
        self.Stone = pygame.image.load('C:\\Users\\kapro\\Documents\\miner\\Miner\\Textures\\Stone.png')
        self.multiplier = spawnMultiplier
        self.airtiles = airtiles
        self.size = size[0] + self.airtiles

и линии, которые создают окно и создают объект World

world1 = World([30, 50], 0.3, 15)   # Size[x, y], SpawnMultiplier, AirBlocks
win = pygame.display.set_mode((world1.size[0] * texturesize, world1.size[1] * texturesize))

С self.size = size вместо self.size = size[0] + self.airtiles это работает прекрасно

Странно то, что win = pygame.display.set_mode((world1.size[0] * texturesize, world1.size[1] * texturesize)) - это то, что дает мне ошибку

  File "C:/Users/kapro/Documents/Miner/Miner/app.py", line 62, in <module>
    win = pygame.display.set_mode((world1.size[0] * texturesize, world1.size[1] * texturesize))
TypeError: 'int' object is not subscriptable

Я действительно сбит с толку, потому что это моя первая ошибка с этой ошибкой

Мой вопрос: как решить и почему именно это происходит

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...