Это мой соответствующий код ...
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 = []
, ни одно из значений не существует. Это было бы хорошо, но мне нужно очистить массив перед его использованием. Кто-нибудь знает как это решить? Спасибо!