Pygame — загрузка букв и отображение текста для изображенияPython

Программы на Python
Anonymous
Pygame — загрузка букв и отображение текста для изображения

Сообщение Anonymous »

Я следую руководству Tech with Tim о том, как создать ссылку на платформерную игру.
Я создал функцию для загрузки букв из изображения спрайта на основе его функции load_sprites: р>

Код: Выделить всё

def load_letters_from_sprite_sheets(w, h):
path = join('Assets', 'Menu', 'Text',)
images = [f for f in listdir(path) if isfile(join(path, f))]

all_images = {}

for image in images:
text_sheet = pygame.image.load(join(path, image)).convert_alpha()
letters = []

for i in range(text_sheet.get_width() // w):
for j in range(text_sheet.get_height() // h):
surface = pygame.Surface((w, h), pygame.SRCALPHA, 32)
rect = pygame.Rect(i * w, j * h, w, h)
surface.blit(text_sheet, (0, 0), rect)
letters.append(pygame.transform.scale2x(surface))

all_images[image.replace('.png', '')] = letters

return all_images
Чтобы загрузить изображение, содержащее буквы (вызывается в Game().init)

Код: Выделить всё

self.letter_sheets = load_letters_from_sprite_sheets( 8, 10)
Изображение с буквами
Поэтому я создал небольшую функцию для загрузки букв в список:

Код: Выделить всё

def display_text(window, all_images, x, y, text: str, color = 'white', size = 1.0):
if color.lower() == 'white':
src_image = all_images['Text (White) (8x10)']
else:
src_image = all_images['Text (Black) (8x10)']

for i in range(len(src_image)):
#print(f'i: {i}, img: {src_image[i]}')
window.blit(src_image[i], (x + i * src_image[i].get_width() , y))
Однако, когда я пытаюсь отобразить текст, он не отображается (вызывается в главном цикле игры):

Код: Выделить всё

display_text(self.window, self.letter_sheets, 100, 100, 'abcdefghijklmnopqrstuvwxyz', 'white')
Что мне здесь не хватает? Спасибо за помощь :)
Я попробовал отобразить все буквы, загруженные с изображения (пока без учета ввода пользователя), но на экране это не отобразилось.

Подробнее здесь: https://stackoverflow.com/questions/787 ... r-an-image

Вернуться в «Python»