Эффективная загрузка Pygamescreens в 2D-списки - PullRequest
0 голосов
/ 28 мая 2018

Я ищу быстрый способ сделать это:

def load(screen):
    x, y = (screen.get_size()[0], screen.get_size()[1])
    list = []
    out = []
    for pln in range(x):
        for prn in range(y):
            liste.append(screen.get_at([pln, prn]))
        out.append(copy.deepcopy(list))
        list = []
    print ("finish")
    #print(len(out))
    return copy.deepcopy((out))

Здесь экран - объект, созданный с помощью pygame.display.set_mode(*size*)

, я пытаюсь записать цвета из get_at в 2d-список.Есть ли встроенная функция из Pygame, чтобы сделать это?Я имею в виду, что этот код слишком медленный ...

1 Ответ

0 голосов
/ 28 мая 2018

Вы можете почти утроить скорость, используя pygame.surfarray.

Но я не думаю, что вы на самом деле хотите получить список пикселей.Пожалуйста, опубликуйте новый вопрос с вашей проблемой, как подсказал @hop.

def load(screen):
    return pygame.surfarray.pixels2d(screen).tolist()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...