Как конвертировать pygame.ScancodeWrapper в итеририруемый объект

Я хочу конвертировать объект, который возвращает функция pygame.key.get_pressed() в numpy-массив, чтобы в дальнейшем использовать в функции класса с декоратором numba.jitclass.

Напрямую

np.array(pg.key.get_pressed())

не получается из-за ошибки

TypeError: Could not convert object to sequence

Я написал функцию, которая могла бы это делать, но для отслеживания, например, левого шифта она не подходит

def pressed_keys():
    keys = pg.key.get_pressed()
    arr_keys = np.empty(len(keys), np.bool)
    for i in range(len(keys)):
        arr_keys[i] = keys[i]
    return arr_keys

в константе pygame.K_LSHIFT записано число 1073742049, а длина массива получается только 512, поэтому при использовании вывода моей функции появляется ошибка

IndexError: index 1073742049 is out of bounds for axis 0 with size 512

Как можно конвертировать pygame.ScancodeWrapper в numpy.ndarray так, чтобы значения всех клавиш сохранились?


Ответы (0 шт):