Как загрузить пользовательские шрифты и текстовые эффекты в 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.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)) # Обновление вручную
Результат будет выглядеть следующим образом:
Больше пользовательских шрифтов
Хотя шрифт по умолчанию работает хорошо, использование собственного шрифта может значительно улучшить визуальную привлекательность игры. Чтобы добавить пользовательские шрифты, выполните следующие действия:
Во-первых, вам нужен собственный файл шрифта 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)) # Обновление вручную
Вы увидите текст, отображаемый выбранным шрифтом:
Создание текстовых эффектов
Добавление текстовых эффектов в вашу игру может превратить статический текст в динамичные и привлекающие внимание элементы. Один из самых простых, но эффективных текстовых эффектов — вибрация.
Эффект вибрирующего текста заключается в том, что текст ритмично расширяется и сжимается. Вот как можно реализовать этот эффект:
# Продолжение игры во время бега: # 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() . Регулируя коэффициент, вы контролируете степень расширения и сжатия, тем самым добиваясь вибрационного эффекта.
Помимо эффекта пульсации, вы можете попробовать множество других текстовых эффектов, чтобы добавить игре изюминку:
- Эффект пишущей машинки: отображает текст побуквенно, имитируя звук пишущей машинки.
- Эффект плавного исчезновения текста: постепенное исчезновение текста внутрь или наружу для создания плавного перехода.
- Эффект покачивания: заставляет текст трястись или слегка дрожать, создавая ощущение срочности или волнения.
- Эффект свечения. Добавьте к тексту легкий эффект свечения, чтобы он выделялся в темноте.
Чтобы реализовать эти эффекты, вы можете комбинировать такие методы, как изменение альфа-канала (прозрачности), редактирование положения и применение цветовых переходов.
Не бойтесь проявлять творческий подход и попробуйте комбинировать эффекты, чтобы найти идеальный вариант, соответствующий вашему стилю игры.
Выше приведены способы загрузки пользовательских шрифтов и добавления текстовых эффектов для Pygame. Надеюсь, статья окажется для вас полезной.