Contents

Jak załadować niestandardowe czcionki i efekty tekstowe w Pygame

Estetyka odgrywa kluczową rolę w tworzeniu gier. Drobne szczegóły mogą wpłynąć na to, jak dobrze gra przyciąga uwagę graczy i zanurza ich w świecie gry. Niestandardowe czcionki i efekty tekstowe pozwalają nadać osobowość i styl interfejsowi gry, dialogom i elementom HUD.

Rozważ wykorzystanie dostosowanych krojów pisma i charakterystycznych cech typograficznych, aby podnieść poziom swojego dzieła, niezależnie od tego, czy jest to ekscytująca eskapada, enigmatyczne wyzwanie, czy inny wybrany gatunek, ponieważ mogą one tchnąć życie w twoje dzieło, wykraczając poza jego przyziemną istotę i wzbudzając zainteresowanie graczy.

Tworzenie prostej gry 2D

Przed wkroczeniem w sferę spersonalizowanej typografii i graficznych ozdobników, rozsądnie jest stworzyć podstawowe ramy dla dwuwymiarowej gry. Aby zilustrować tę koncepcję, opracujemy prosty ekran tytułowy z ruchem gracza, wykorzystując możliwości Pygame.

Kod źródłowy wykorzystany w tym artykule jest dostępny za pośrednictwem publicznego repozytorium GitHub i jest udostępniany bezpłatnie na warunkach licencji MIT.

Aby rozpocząć rozgrywkę, należy ustawić okno wyświetlania gry, korzystając z funkcji Pygame.display.set_mode() biblioteki Python. Dodatkowo masz możliwość przypisania tytułu do okna za pomocą metody Pygame.display.set_caption() .

 import pygame
pygame.init()

# Set up display
width, height = 800, 600
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("My Pygame Adventure")

Aby rozpocząć rozgrywkę, utwórz instancję obiektu Pygame Rect w klasie gracza. Klasa Pygame Rect służy jako geometryczna reprezentacja prostoliniowego kształtu, odpowiednia do wyznaczania obiektów w grach wideo, takich jak awatary lub przeszkody w dwuwymiarowym środowisku.

 # Initialize player
player = pygame.Rect(50, 50, 50, 50)
player_color = (255, 0, 0) 

Centralnym elementem każdej gry jest jej główna pętla, która służy jako centrum ciągłej aktywności. Nieustannie monitoruje ona dane wejściowe gracza, odpowiednio dostosowuje aktualny stan gry i odświeża wyświetlacz wizualny.

 # Main game loop
running = True

while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # Player Movement
    keys = pygame.key.get_pressed()

    if keys[pygame.K_LEFT]:
        player.x -= 5

    if keys[pygame.K_RIGHT]:
        player.x \\+= 5

    if keys[pygame.K_UP]:
        player.y -= 5

    if keys[pygame.K_DOWN]:
        player.y \\+= 5

    screen.fill((0, 0, 0))

    # Draw the player
    pygame.draw.rect(screen, player_color, player)

    # Update the screen
    pygame.display.flip()

pygame.quit() 

Oto podstawowe dane wyjściowe:

/pl/images/simple-game-in-pygame-1.jpg

Dodaj tekst do swojej gry

Aby elegancko renderować tekst w atrakcyjny wizualnie sposób, zainicjuj obiekt czcionki, korzystając z metody pygame.font.Font() . Pozwala to na określenie zarówno pliku czcionki, jak i odpowiadającego mu rozmiaru, aby zapewnić optymalną czytelność i atrakcyjność wizualną.

 # Load font
font = pygame.font.Font(None, 36) 

Po pomyślnym załadowaniu czcionki możliwe jest wygenerowanie wizualnych danych wyjściowych przy użyciu metody render() komponentu font.Proces ten polega na dostarczeniu określonej treści tekstowej, konfiguracji antyaliasingu i wartości odcienia jako parametrów. Następnie można zastosować funkcję blit() w celu przeniesienia wizualnie wyświetlanego tekstu na powierzchnię wyświetlacza.

 # Main game loop
while running:
    # Draw the player

    # Render and display text
    text = font.render("Welcome to My Game", True, (255, 255, 255))
    screen.blit(text, (width // 2 - text.get_width() // 2, 10))

    # Update the screen 

Dane wyjściowe powinny wyglądać mniej więcej tak:

/pl/images/simple-text-in-pygame.jpg

Dodaj niestandardowe czcionki

Zwiększenie atrakcyjności wizualnej gry poprzez wykorzystanie niestandardowych czcionek jest opcją, którą programiści mogą rozważyć, aby poprawić ogólny wygląd swojego projektu. Dla tych, którzy są zainteresowani włączeniem niestandardowego kroju pisma, oto procedury niezbędne do zaimplementowania niestandardowej czcionki w Unity.

Aby uzyskać odpowiedni styl wizualny dla swojej gry, konieczne jest uzyskanie spersonalizowanego pliku czcionki TrueType (TTF), który jest zgodny z pożądaną estetyką. W Internecie dostępnych jest wiele opcji, w tym zarówno swobodnie dostępne, jak i komercyjne czcionki, które można wykorzystać do tego celu.

Zlokalizuj plik czcionki w tym samym katalogu co skrypt gry, ponieważ ułatwia to Pygame identyfikację i skuteczny dostęp do czcionki.

 # Load custom font
custom_font = pygame.font.Font("custom_font.ttf", 48)

# Main game loop
while running:
    # Draw the player

    # Render and display custom font text
    custom_text = custom_font.render("Custom Font Text", True, (0, 255, 0))
    screen.blit(custom_text, (width // 2 - custom_text.get_width() // 2, 100))

    # Update the screen 

Wyświetlana zawartość powinna być prezentowana przy użyciu preferowanego kroju czcionki:

/pl/images/custom-font-in-pygame.jpg

Tworzenie efektów tekstowych

Włączenie sugestywnych ulepszeń tekstowych do gry może potencjalnie przekształcić przyziemną, pisaną treść w porywające wizualne spektakle, które wzbudzą zainteresowanie widza. Podstawowa, ale skuteczna metoda osiągnięcia tej transformacji polega na zastosowaniu pulsującego upiększenia.

Aby uzyskać efekt pulsującego tekstu, który tworzy iluzję rozszerzania się i kurczenia z rytmicznym wzorem, wykonaj następujące kroki:

 # Main game loop
while running:
    # Draw the player

    # Create text with pulsating effect
    pulsating_text = custom_font.render("Pulsating Text", True, (0, 0, 255))

    # Calculate pulsation factor based on time
    pulsation_factor = 1 \\+ abs((pygame.time.get_ticks() % 1000) - 500) / 500

    width = int(pulsating_text.get_width() * pulsation_factor)
    height = int(pulsating_text.get_height() * pulsation_factor)

    # Scale the text based on pulsation factor
    pulsating_text = pygame.transform.scale(
        pulsating_text,
        (width, height)
    )

    # Calculate text position to center it on the screen
    text_x = width // 2 - pulsating_text.get_width() // 2
    text_y = 200

    screen.blit(pulsating_text, (text_x, text_y))

    # Update the screen 

Aby utworzyć efekt pulsowania w aplikacji Pygame, konieczne jest obliczenie współczynnika pulsacji za pomocą funkcji pygame.time.get_ticks() . Metoda ta zapewnia dokładny pomiar czasu, jaki upłynął od ostatniego zdarzenia. Współczynnik pulsacji można regulować poprzez manipulowanie tą wartością, kontrolując w ten sposób amplitudę lub intensywność ruchu pulsacyjnego.

Oprócz rytmicznego wpływu, można zbadać wiele innych upiększeń tekstowych, aby zwiększyć atrakcyjność wizualną i stylistyczne aspekty gry:

Symulacja typograficzna znana jako “Efekt maszyny do pisania” polega na wyświetlaniu tekstu znak po znaku, replikując wrażenie dźwiękowe zabytkowej ręcznej maszyny do pisania.

Uwydatnij treść za pomocą subtelnej zmiany koloru, umożliwiając płynne przejście z jednego stanu do drugiego poprzez stopniowe intensyfikowanie lub zmniejszanie odcienia znaków w czasie.

Aby stworzyć subtelne poczucie pilności lub ekscytacji, rozważ wdrożenie technik animacji tekstu, takich jak delikatne wibracje lub drżenie tekstu na ekranie. Można to osiągnąć za pomocą właściwości CSS, takich jak transform i transition , umożliwiając uzyskanie płynnych i atrakcyjnych wizualnie efektów, które poprawiają wrażenia użytkownika bez pogarszania czytelności treści.

Elegancko popraw widoczność tekstu, stosując dyskretną, promienną luminescencję, która podkreśla jego obecność w słabo oświetlonym otoczeniu, podnosząc jego widoczność za pomocą kuszącego i wyrafinowanego połysku.

Aby uzyskać pożądany efekt wizualny na obrazie lub wideo, można zastosować różne metody, w tym dostosowanie krycia określonych obszarów poprzez manipulację kanałem alfa, zmianę położenia elementów w kadrze i wprowadzenie gradacji kolorów.

Zachęcamy do odkrywania niekonwencjonalnych technik i łączenia różnych elementów wizualnych w celu uzyskania unikalnej estetyki, która jest zgodna z artystycznym kierunkiem gry wideo.

Uwzględnij dodatkowe funkcje

W miarę postępów w opanowaniu spersonalizowanych krojów pisma i upiększeń tekstu, rozsądne może być zbadanie dodatkowych udoskonaleń dla twojego projektu.

Interaktywne dialogi

Zintegruj system ułatwiający dynamiczną wymianę zdań między postaciami graczy i postaciami spoza gry poprzez wykorzystanie wizualnie wyróżniających się kontenerów tekstowych i spersonalizowanej typografii. Umożliwienie uczestnikom wybierania spośród różnych alternatyw konwersacji, które mogą mieć wpływ na trajektorię narracji lub ostateczny wynik doświadczenia.

Elementy HUD

Upewnij się, że kluczowe dane, takie jak statystyki gracza, wskaźniki zdrowia i wyniki, są prezentowane w sposób przyciągający wzrok dzięki kreatywnej typografii i projektom wizualnym. Przemyślany interfejs użytkownika (UI) z efektownymi elementami graficznymi poprawi ogólne wrażenia z gry, zapewniając graczom łatwy dostęp do kluczowych informacji.

Animowany tekst

Włączanie animacji do efektów tekstowych jest potężnym narzędziem do zwiększania immersji narracyjnej poprzez dynamiczne elementy wizualne. Stosując techniki takie jak zanikanie, przewijanie lub zmiana kolorów, projektanci mogą skutecznie podkreślać krytyczne punkty lub zdarzenia w grze, ostatecznie przyciągając graczy wciągającą i atrakcyjną wizualnie prezentacją.

Najlepsze praktyki dotyczące niestandardowych czcionek i efektów tekstowych

Poruszając się po terenie spersonalizowanych krojów pisma i ozdób tekstowych, przestrzeganie kilku godnych pochwały zasad może zagwarantować nienaganną i wciągającą prezentację.

Spójność

Dąż do jednolitości krojów pisma i grafiki tekstowej zastosowanej w grze wideo, ponieważ spójność typografii może poprawić jej postrzeganą jakość i wyrafinowanie.

Czytelność

Wybierając czcionki do projektu, ważne jest, aby przedkładać ich czytelność nad atrakcyjność wizualną. Chociaż ozdobne czcionki mogą wydawać się atrakcyjne, nie powinny one wpływać na zrozumiałość tekstu. Dlatego ważne jest, aby upewnić się, że wybrane kroje pisma są łatwo rozpoznawalne niezależnie od rozmiaru lub odmian czcionki.

Kontrast

Ważne jest, aby zwrócić uwagę na różnicę w odcieniu między treścią a otaczającym ją środowiskiem, ponieważ może to znacząco wpłynąć na czytelność i ogólną użyteczność. Wysoki stopień kontrastu zapewnia, że materiał pisany skutecznie wyróżnia się na tle potencjalnych elementów rozpraszających uwagę, poprawiając w ten sposób interakcję użytkownika z interfejsem.

Psychologia kolorów

Uwzględnienie psychologicznych implikacji odcieni w treści pisemnej ma kluczowe znaczenie dla projektantów. Każdy odcień wywołuje różne uczucia, dlatego ważne jest, aby wybrać odcienie, które harmonizują z atmosferą i tonem gry wideo.

Uczyń swoje gry bardziej wciągającymi dzięki niestandardowym czcionkom i efektom tekstowym

Włączenie spersonalizowanej typografii i graficznych upiększeń do przedsięwzięcia Pygame nie tylko zwiększa jego atrakcyjność wizualną, ale także zapewnia graczom wyższy poziom immersji i zaangażowania.

Starannie opracowany język ma zdolność wywoływania emocji, tworzenia atmosfery gry i prowadzenia graczy przez wciągające doświadczenie. Może zawierać istotne szczegóły, przedstawiać zabawne rozmowy lub kultywować uczucie zdumienia - elementy tekstowe okazują się być wielopłaszczyznowym elementem w dziedzinie tworzenia gier wideo.