Dodajte svojej hre osobitosť pomocou textu, ktorý odráža jej dizajn a žáner.
Estetika hrá pri vývoji hry kľúčovú úlohu. Malé detaily môžu ovplyvniť, ako dobre vaša hra upúta pozornosť hráčov a ponorí ich do herného sveta. Vlastné fonty a textové efekty vám umožňujú vniesť osobitosť a štýl do rozhrania, dialógov a prvkov HUD vašej hry.
Či už navrhujete dobrodružnú hru, logickú hru alebo akúkoľvek inú, vlastné fonty a textové efekty môžu zmeniť váš projekt zo základného na podmanivý.
Vytvorte jednoduchú 2D hru
Predtým, ako sa ponoríte do sveta vlastných písiem a textových efektov, vytvorte základný základ 2D hry. V tomto príklade vytvorte hru s pohybom hráča pomocou funkcií Pygame.
Kód použitý v tomto článku je dostupný v tomto úložisko GitHub a môžete ho bezplatne používať na základe licencie MIT.
Ak chcete začať, nastavte herné okno. Pygame poskytuje pygame.display.set_mode() funkciu na vytvorenie okna, ktoré zobrazuje vašu hru. Môžete tiež nastaviť názov okna pomocou 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")
Teraz inicializujte objekt prehrávača pomocou pygame. Rect() trieda. Táto trieda predstavuje obdĺžnikový tvar, ktorý môžete použiť na znázornenie postáv a predmetov v 2D hrách.
# Initialize player
player = pygame.Rect(50, 50, 50, 50)
player_color = (255, 0, 0)
Hlavná herná slučka je srdcom vašej hry, kde sa odohráva všetka akcia. To nepretržite skontroluje vstup hráča, aktualizuje stav hry a prekreslí obrazovku.
# Main game loop
running = Truewhile 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 -= 5if keys[pygame.K_RIGHT]:
player.x += 5if keys[pygame.K_UP]:
player.y -= 5if keys[pygame.K_DOWN]:
player.y += 5screen.fill((0, 0, 0))
# Draw the player
pygame.draw.rect(screen, player_color, player)# Update the screen
pygame.display.flip()
pygame.quit()
Tu je zatiaľ základný výstup:
Pridajte text do svojej hry
Ak chcete zobraziť text, začnite načítaním písma pomocou pygame.font. písmo() trieda. Môžete určiť súbor písma a veľkosť písma:
# Load font
font = pygame.font.Font(None, 36)
S načítaným písmom môžete teraz vykresľovať a zobrazovať text na obrazovke. The render() metóda objektu font berie ako argumenty text, nastavenie antialiasingu a farbu. Potom môžete použiť blit() funkcia na kreslenie vykresleného textu na obrazovku.
# 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
Výstup by mal vyzerať asi takto:
Pridať vlastné písma
Aj keď predvolené písma fungujú dobre, používanie vlastných písiem môže výrazne zvýšiť vizuálnu príťažlivosť vašej hry. Ak chcete pridať vlastné písmo, postupujte podľa týchto krokov.
Najprv potrebujete vlastný súbor písma TrueType (TTF), ktorý zodpovedá estetike vašej hry. Na internete je veľa zdrojov, kde môžete nájsť bezplatné alebo platené písma.
Umiestnite stiahnutý súbor písma do rovnakého adresára ako váš herný skript. To zaisťuje, že Pygame dokáže nájsť a načítať písmo.
# 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
Mali by ste vidieť text vykreslený vo vami zvolenom písme:
Vytvorte textové efekty
Pridaním textových efektov do hry môžete premeniť statický text na dynamické prvky, ktoré priťahujú pozornosť. Jedným z najjednoduchších, ale účinných textových efektov je pulzujúci efekt.
Efekt pulzujúceho textu spočíva v tom, že text vyzerá tak, že sa rytmicky rozširuje a sťahuje, čo mu dodáva dýchaciu alebo pulzujúcu kvalitu. Tento efekt môžete implementovať takto:
# 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) / 500width = 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 = 200screen.blit(pulsating_text, (text_x, text_y))
# Update the screen
Vypočítajte pulzačný faktor na základe použitia aktuálneho času pygame.time.get_ticks(). Úpravou faktora ovládate stupeň roztiahnutia a kontrakcie, čím dosiahnete pulzujúci efekt.
Okrem pulzujúceho efektu existuje mnoho ďalších textových efektov, s ktorými môžete experimentovať a dodať svojej hre šmrnc:
- Efekt písacieho stroja. Zobrazte text písmeno po písmene, simulujúc zvuk písacieho stroja.
- Miznúci text. Postupným zoslabovaním alebo vyblednutím textu vytvoríte plynulý prechod.
- Chvenie textu. Roztraste alebo jemne potraste text, aby ste vytvorili pocit naliehavosti alebo vzrušenia.
- Žiariaci text. Pridajte do textu jemný žiariaci efekt, aby vynikol v tmavšom prostredí.
Na implementáciu týchto efektov môžete kombinovať techniky, ako je zmena alfa kanála (priehľadnosť), úprava polohy a aplikácia farebných prechodov.
Nebojte sa byť kreatívny a experimentujte s kombináciami efektov, aby ste našli perfektné prispôsobenie štýlu vašej hry.
Zahrnúť ďalšie funkcie
Keď sa s prispôsobenými fontami a textovými efektmi budete cítiť pohodlnejšie, zvážte pridanie ďalších vylepšení do vašej hry.
Interaktívne dialógy
Implementujte interaktívne konverzácie s NPC pomocou štylizovaných textových polí a vlastných fontov. Umožnite hráčom vyberte možnosti dialógu ktoré môžu ovplyvniť príbeh alebo výsledok hry.
Prvky HUD
Zobrazte základné informácie o hráčovi, ukazovatele zdravia, skóre a ďalšie pomocou vizuálne príťažlivých textových efektov. Návrh dobre organizovaného a esteticky príjemného HUD môže prispieť k bezproblémovému hernému zážitku.
Animovaný text
Začleniť animácie do vašich textových efektov pre dynamickejšie rozprávanie. Text, ktorý mizne a mizne, roluje alebo mení farbu, môže upozorniť na dôležité momenty alebo udalosti v hre.
Osvedčené postupy pre vlastné písma a textové efekty
Keď sa ponoríte do sféry vlastných písiem a textových efektov, pamätajte na niekoľko osvedčených postupov, ktoré vám môžu pomôcť zabezpečiť dokonalú a pútavú prezentáciu.
Dôslednosť
Udržujte konzistentný vizuálny štýl vo všetkých fontoch a textových efektoch vašej hry. Súdržnosť v typografii prispieva k profesionálnejšiemu a uhladenejšiemu vzhľadu.
Čitateľnosť
Pri výbere písma uprednostňujte čitateľnosť. Aj keď dekoratívne písma môžu byť príťažlivé, nemali by obetovať jasnosť textu. Uistite sa, že zvolené písma sú ľahko čitateľné, dokonca aj pri rôznych veľkostiach.
Kontrast
Venujte pozornosť kontrastu medzi textom a pozadím. Vysoký kontrast zaisťuje, že text zostáva viditeľný a ľahko čitateľný, čo zlepšuje používateľský zážitok.
Psychológia farieb
Zvážte psychologický vplyv farieb vo vašom texte. Rôzne farby vyvolávajú rôzne emócie, preto si vyberte farby, ktoré zodpovedajú nálade a tónu vašej hry.
Urobte zo svojich hier pútavejšie vlastné písma a textové efekty
Integráciou vlastných fontov a textových efektov do vášho projektu Pygame nielenže pozdvihnete vizuálnu estetiku vašej hry, ale tiež poskytnete hráčom pohlcujúcejší a pútavejší zážitok.
Premyslene navrhnutý text dokáže sprostredkovať emócie, nastaviť tón hry a sprevádzať hráčov ich cestou. Či už ide o zobrazovanie dôležitých informácií, poskytovanie vtipných dialógov alebo vytváranie pocitu úžasu, textové efekty sú všestranným nástrojom vo vašom arzenáli na vývoj hier.