В предыдущей части мы узнали, как добавить ограничение на машину. Теперь мы сделаем шаг вперед и отобразим текст в тот момент, когда машина коснется границы дороги.

Есть несколько способов отобразить текст на экране игры:
››› pygame.font.Font () - создать новый объект Font из файла
››› pygame.font.SysFont () - создание объекта Font из системных шрифтов.

В этой статье мы поговорим о SysFont ().

SysFont () принимает 4 аргумента, 2 из которых являются необязательными.
pygame.font.SysFont (fontname, size, bold = False {необязательно}, курсив = Flase {необязательно})

››› pygame.font.SysFont (None, '100'):
* Здесь «None» означает установленное по умолчанию имя шрифта. в методе
* И размер равен 100 (скажем)

››› myfont = pygame.font.SysFont («None», 100)
Мы создали объект для шрифта.

(Примечание: Pygame не предоставляет прямого способа рисования текста на поверхности.)
Мы должны использовать render внутри этого метода шрифта для рисования текста на поверхности. Этот метод рендеринга создаст изображение текста. Как мы добавляем изображение на экран, так же как мы добавляем текст на экран.
Render () принимает 4 аргумента, из которых 1 является необязательным.
pygame.font.render (текст, сглаживание, цвет, фон = Нет)

››› render_text = myfont.render («CAR-CRASHED», 1, (255,255,255))
* Здесь «CAR-CRASHED» - это сообщение который мы будем отображать на экране
* «1» - это значение сглаживания, которое дает гладкие края для текста, когда оно истинно, в противном случае край будет немного размытым, если значение равно false или "0".
* (255,255,255) будет цветом текста в формате RGB.

Теперь нам нужно использовать метод blit, чтобы нарисовать этот текстовый объект на экране. Я уже использовал метод blit в своих предыдущих статьях, вы также можете проверить официальную документацию метода blit здесь.

Примечание. - Мы должны написать блит-оператор при условии логики дороги-границы.

Удалите строку «run = True» из приведенного выше кода и напишите:

››› screen.blit (render_text, (80,200))

После этого код будет выглядеть так:

Запустите код, и я предполагаю, что мы увидим следующий результат:

Теперь вы можете изменить размер шрифта и цвет по своему усмотрению.
››› myfont = pygame.font.SysFont («Нет», 120)
››› render_text = myfont.render («АВТО АВАРИЯ», 1 , (0,0,0))
››› screen.blit (render_text, (120,200))

Мы можем увидеть результат примерно так:

И последнее: когда появляется сообщение об аварии, мы должны перезапустить игру через некоторое время. И мы не должны перезапускать код каждый раз, но мы должны написать логику, чтобы через несколько секунд игра перезапустилась.



Импортируйте модуль времени для выполнения вышеуказанных действий:
››› импорт времени

Затем в логике road_crash после отображения текста нам нужно установить таймер на 3 секунды (скажем), а затем нам нужно вызвать функцию game_loop.

Не забудьте обновить экран.

Вот и все…
Мы научились добавлять текст на игровой экран. Коротко и просто.
Надеюсь, вам понравилась эта статья, и если у вас есть какие-либо сомнения относительно приведенного выше кода, сообщите мне об этом в разделе комментариев.
Рад помочь…

А если вы хотите посмотреть видео с приведенным выше кодом, нажмите здесь.
Я написал несколько статей и о других играх, посетите мою страницу, если вы заинтересованы в обучении программированию с помощью игр. Нажмите здесь и дайте мне знать, что вы думаете об этом?

Спасибо !!!
Никогда не соглашайтесь и всегда спешите !!!

-Gareeb CODER

(Спасибо, что уделили время, и поощряйте меня писать больше, хлопая в ладоши.)

Получите доступ к экспертному обзору - Подпишитесь на DDI Intel