Как загрузить пользовательские шрифты и текстовые эффекты в Pygame

Эстетический фактор играет важную роль в программировании игр. Мелкие детали могут повлиять на то, как игра захватит внимание игрока и погрузит его в игровой мир. Пользовательские шрифты и текстовые эффекты позволяют придать индивидуальность и индивидуальный стиль интерфейсу, диалогам и элементам HUD вашей игры.

Независимо от того, разрабатываете ли вы приключенческую игру, игру-головоломку или любой другой шрифт или текстовый эффект, вы можете превратить свой проект из простого в увлекательный.

Создавайте простые 2D-игры

Прежде чем погрузиться в мир пользовательских шрифтов и текстовых эффектов, создайте базовую основу для 2D-игры. В этом примере спроектируйте игру с движением игрока, используя функции Pygame.

Для начала настройте окно игры. Pygae предоставляет функцию pygame.display.set_mode() для создания окна игры. Вы также можете озаглавить окно с помощью pygame.display.set_caption() .

import pygame pygame.init() # Ширина, высота = 800, 600 screen = pygame.display.set_mode((width, height)) pygame.display.set_caption(“My Pygame Adventure”)

Теперь инициализируйте объект игрока с помощью класса pygame.Rect(). Этот класс представляет прямоугольник, который можно использовать для визуализации персонажей и объектов в 2D-играх.

# Khởi tạo người chơi player = pygame.Rect(50, 50, 50, 50) player_color = (255, 0, 0)

Игровой цикл — это сердце игры, где происходят все действия. Он постоянно проверяет действия игрока, обновляет состояние игры и перерисовывает экран.

# Запуск игры выполняется = True во время работы: для события в pygame.event.get(): if event.type == pygame.QUIT: Running = False # Запускаем клавиши = pygame.key.get_pressed() if ключи(pygame.K_LEFT): player.x -= 5, если ключи(pygame.K_RIGHT): player.x += 5, если ключи(pygame.K_UP): player.y -= 5, если ключи(pygame.K_DOWN): игрок .y += 5 screen.fill((0, 0, 0)) # Нажмите pygame.draw.rect(screen, player_color, player) # Обновление pygame.display.flip() pygame.quit()

Результат:

Как загрузить пользовательские шрифты и текстовые эффекты в Pygame. Рисунок 1.

Добавить текст в игру

Чтобы отобразить текст, начните с загрузки шрифта с помощью класса pygame.font.Font(). Вы можете указать файл шрифта и размер шрифта:

# Шрифт Tải font = pygame.font.Font(None, 36)

Используя описанный шрифт, вы теперь можете визуализировать и отображать текст на экране. Метод render() объекта шрифта принимает в качестве аргументов текст, настройки сглаживания и цвет. Затем вы можете использовать функцию blit() для рисования текста, отображаемого на экране.

# Выбираем игру во время работы: # Выбираем игру # Kết xuất và hiện text text = Font.render(“Добро пожаловать в мою игру”, True, (255, 255, 255)) screen.blit(text, (width / / 2 – text.get_width() // 2, 10)) # Обновление вручную

Результат будет выглядеть следующим образом:

Как загрузить пользовательские шрифты и текстовые эффекты в Pygame. Рисунок 2.

Больше пользовательских шрифтов

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

Во-первых, вам нужен собственный файл шрифта TrueType (TTF), соответствующий эстетике игры. Существует множество онлайн-ресурсов, на которых можно найти шрифты бесплатно или за плату.

Поместите файл шрифта в ту же папку, что и игровой скрипт. Это гарантирует, что Pygame сможет найти и загрузить этот шрифт.

# Шрифт, который вы используете custom_font = pygame.font.Font(“custom_font.ttf”, 48). ender(“Пользовательский Текст шрифта”, True, (0, 255, 0)) screen.blit(custom_text, (width // 2 – custom_text.get_width() // 2, 100)) # Обновление вручную

Вы увидите текст, отображаемый выбранным шрифтом:

Как загрузить пользовательские шрифты и текстовые эффекты в Pygame. Рисунок 3.

Создание текстовых эффектов

Добавление текстовых эффектов в вашу игру может превратить статический текст в динамичные и привлекающие внимание элементы. Один из самых простых, но эффективных текстовых эффектов — вибрация.

Эффект вибрирующего текста заключается в том, что текст ритмично расширяется и сжимается. Вот как можно реализовать этот эффект:

# Продолжение игры во время бега: # Vẽ người chơi # Tạo văn bản với hiệu ứng run pulsating_text = custom_font.render(“Пульсирующий текст”, True, (0, 0, 255)) #Tính hệ số xung theo th великий пульсационный_фактор = 1 + abs((pygame.time.get_ticks() % 1000) – 500) / 500 ширина = int(pulsating_text.get_width() * pulsation_factor) height = int(pulsating_text.get_height() * pulsation_factor) #Chia tỷ lệ văn bn dựa trên hệ số xung pulsating_text = pygame.transform.scale( pulsating_text, (width, height)) text.get_width() // 2 text_y = 200 screen.blit(pulsating_text, (text_x, text_y)) # Обновляем экран

Рассчитайте коэффициент времени на основе текущего времени, используя pygame.time.get_ticks() . Регулируя коэффициент, вы контролируете степень расширения и сжатия, тем самым добиваясь вибрационного эффекта.

Помимо эффекта пульсации, вы можете попробовать множество других текстовых эффектов, чтобы добавить игре изюминку:

  1. Эффект пишущей машинки: отображает текст побуквенно, имитируя звук пишущей машинки.
  2. Эффект плавного исчезновения текста: постепенное исчезновение текста внутрь или наружу для создания плавного перехода.
  3. Эффект покачивания: заставляет текст трястись или слегка дрожать, создавая ощущение срочности или волнения.
  4. Эффект свечения. Добавьте к тексту легкий эффект свечения, чтобы он выделялся в темноте.

Чтобы реализовать эти эффекты, вы можете комбинировать такие методы, как изменение альфа-канала (прозрачности), редактирование положения и применение цветовых переходов.

Не бойтесь проявлять творческий подход и попробуйте комбинировать эффекты, чтобы найти идеальный вариант, соответствующий вашему стилю игры.

Выше приведены способы загрузки пользовательских шрифтов и добавления текстовых эффектов для Pygame. Надеюсь, статья окажется для вас полезной.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *