Повысьте свои навыки Pygame: простые способы отображения FPS на игровом экране

Вы начинающий разработчик игр, использующий Pygame? Если да, то вам может быть интересно, как отображать количество кадров в секунду (FPS) на игровом экране. В этой статье мы рассмотрим различные методы достижения этой цели, используя простой язык и практические примеры кода. Давайте сразу же приступим!

Метод 1: встроенные часы Pygame
Pygame предоставляет встроенный модуль часов, который можно использовать для отслеживания времени и расчета FPS. Вот фрагмент, который поможет вам начать работу:

import pygame
# Initialize Pygame
pygame.init()
# Create a clock object
clock = pygame.time.Clock()
# Game loop
while True:
    # Calculate FPS
    fps = clock.get_fps()

    # Display FPS on the screen
    font = pygame.font.SysFont(None, 25)
    text = font.render(f"FPS: {int(fps)}", True, (255, 255, 255))
    screen.blit(text, (10, 10))

    # Other game logic and rendering

    # Update the display
    pygame.display.update()

    # Limit the frame rate
    clock.tick(60)

Метод 2: собственный счетчик FPS
Если вы предпочитаете более индивидуальный подход, вы можете создать свой собственный счетчик FPS. Вот пример использования модуля timePygame:

import pygame
import time
# Initialize Pygame
pygame.init()
# Create a clock object
clock = pygame.time.Clock()
# FPS counter variables
fps_counter = 0
fps_timer = time.time()
# Game loop
while True:
    # Calculate FPS
    fps_counter += 1
    if time.time() - fps_timer >= 1:
        fps = fps_counter
        fps_counter = 0
        fps_timer = time.time()

    # Display FPS on the screen
    font = pygame.font.SysFont(None, 25)
    text = font.render(f"FPS: {fps}", True, (255, 255, 255))
    screen.blit(text, (10, 10))

    # Other game logic and rendering

    # Update the display
    pygame.display.update()

    # Limit the frame rate
    clock.tick(60)

Метод 3: наложение FPS в Pygame
Другой вариант — использовать готовую библиотеку под названием «pygame_fps», которая упрощает процесс отображения FPS. Вот как его использовать:

import pygame
from pygame_fps import FPS
# Initialize Pygame
pygame.init()
# Create a Pygame FPS object
fps_overlay = FPS()
# Game loop
while True:
    # Display FPS on the screen
    fps_overlay.draw(screen)

    # Other game logic and rendering

    # Update the display
    pygame.display.update()

    # Limit the frame rate
    clock.tick(60)

В этой статье мы рассмотрели три различных метода отображения FPS на игровом экране Pygame. Предпочитаете ли вы использовать встроенные часы Pygame, создавать собственный счетчик FPS или использовать специализированную библиотеку, например «pygame_fps», теперь у вас есть инструменты для улучшения вашего опыта разработки игр. Поэкспериментируйте с этими методами и выберите тот, который лучше всего соответствует вашим потребностям. Приятного кодирования!