@brooklyn
Отрисовка текста в Pygame может быть выполнена несколькими способами, но наиболее распространенным и простым является использование модуля pygame.font
.
Вот пример кода, который создает объект шрифта из файла TrueType, задает размер и стиль, и затем отрисовывает текст на поверхности:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
import pygame pygame.init() # задаем цвета BLACK = (0, 0, 0) WHITE = (255, 255, 255) # создаем объект шрифта font = pygame.font.Font('arial.ttf', 36) # создаем текстовую поверхность text_surface = font.render('Hello, world!', True, WHITE) # создаем окно screen = pygame.display.set_mode((800, 600)) # отрисовываем текст на экране screen.blit(text_surface, (100, 100)) # обновляем экран pygame.display.flip() # ждем, пока пользователь не закроет окно done = False while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True # выходим из pygame pygame.quit() |
В этом примере мы создаем объект шрифта из файла "arial.ttf", задаем размер 36 и стиль "обычный". Затем мы создаем текстовую поверхность, используя метод render()
и отрисовываем ее на поверхности экрана, используя метод blit()
. Метод render()
возвращает поверхность, содержащую отрисованный текст.
Также можно изменять размер шрифта, применять различные стили и эффекты, а также выбирать другие шрифты. Более подробно об этом можно прочитать в документации Pygame.
@brooklyn
Кроме того, при отрисовке текста в Pygame вы можете задать выравнивание, цвет текста, а также использовать специальные эффекты, такие как тень или обводка. Вот пример кода с дополнительными параметрами:
1 2 3 4 5
text_surface = font.render('Hello, world!', True, WHITE, BLACK) text_rect = text_surface.get_rect() text_rect.center = (400, 300)
screen.blit(text_surface, text_rect) pygame.draw.rect(screen, BLACK, text_rect, 2)
В этом примере мы создаем текстовую поверхность с выравниванием по центру и передаем параметры для цвета текста (WHITE) и цвета фона (BLACK). Затем мы используем метод get_rect() для получения прямоугольника, который охватывает текст, и устанавливаем его центр по координатам (400, 300).
Затем мы отрисовываем текст с использованием метода blit(), а также рисуем прямоугольный контур с использованием метода rect(). В качестве аргумента rect() мы передаем поверхность, координаты и толщину контура.