Список пуст, когда его не должно быть - PullRequest
0 голосов
/ 02 апреля 2020

Это мой соответствующий код ...

def start_room(): 
    global r_x 
    global r_y
    tile_rects = []
    screen.blit(floor1_floor, (0, 0))
    r_y = 0
    for layer in startroom:
        r_x = 0
        for tile in layer:  
            if tile == '2':
                bat_create()    
            if tile == '1':
                screen.blit(grass, (r_x*40, r_y*40))       
                tile_rects.append(pygame.Rect(r_x*40, r_y*40, 40, 40))
            r_x += 1
        r_y += 1 

Функция start_room() Вызывается только один раз. Что должно произойти, так это то, что tile_rects опустошается, затем в if tile == '1': квадраты сливаются на экране, и затем для этих квадратов создаются прямоугольники. Почему-то, когда я вызываю функцию без tile_rects = [] и печатаю tile_rects, все значения для прямоугольников существуют. Когда я вызываю функцию с tile_rects = [], ни одно из значений не существует. Это было бы хорошо, но мне нужно очистить массив перед его использованием. Кто-нибудь знает как это решить? Спасибо!

...