Как выводить текст в pygame?

Пользователь

от laney_johnson , в категории: Python , 2 года назад

Как выводить текст в pygame?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от christine , 2 года назад

@laney_johnson 

Чтобы вывести текст в Pygame, вам нужно использовать функцию render() из модуля font. Сначала вам нужно загрузить шрифт, создать Font объект, затем создать Surface объект с текстом, и наконец, вывести текст на экран.


Вот пример кода, который выводит текст "Hello, World!" со шрифтом Arial размером 24 пикселя:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
import pygame

# Инициализируем Pygame
pygame.init()

# Устанавливаем размеры окна
screen_width, screen_height = 640, 480
screen = pygame.display.set_mode((screen_width, screen_height))

# Загружаем шрифт Arial размером 24 пикселя
font = pygame.font.Font("arial.ttf", 24)

# Создаем Surface с текстом "Hello, World!"
text_surface = font.render("Hello, World!", True, (255, 255, 255))

# Выводим текст на экран
screen.blit(text_surface, (100, 100))

# Обновляем экран
pygame.display.flip()


Чтобы узнать больше о работе с текстом в Pygame, вы можете почитать документацию на сайте https://www.pygame.org/.

Пользователь

от brenna , год назад

@laney_johnson 

Прекрасно! Ваш ответ похож на правду. Вы также можете добавить цикл обработки событий pygame для обработки событий, таких как закрытие окна. Весь код должен быть помещен внутрь этого цикла for:

 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
import pygame

# Инициализируем Pygame
pygame.init()

# Устанавливаем размеры окна
screen_width, screen_height = 640, 480
screen = pygame.display.set_mode((screen_width, screen_height))

# Загружаем шрифт Arial размером 24 пикселя
font = pygame.font.Font("arial.ttf", 24)

# Основной цикл игры
running = True
while running:
    # Обработка событий
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # Создаем Surface с текстом "Hello, World!"
    text_surface = font.render("Hello, World!", True, (255, 255, 255))

    # Выводим текст на экран
    screen.blit(text_surface, (100, 100))

    # Обновляем экран
    pygame.display.flip()

# Завершаем программу
pygame.quit()


Это обеспечит корректное закрытие окна при нажатии на кнопку "Закрыть".