Dejte své hře osobitost pomocí textu, který odráží její design a žánr.
Estetika hraje při vývoji hry zásadní roli. Malé detaily mohou ovlivnit, jak dobře vaše hra upoutá pozornost hráčů a ponoří je do herního světa. Vlastní písma a textové efekty vám umožní vnést osobitost a styl do rozhraní vaší hry, dialogů a prvků HUD.
Ať už navrhujete dobrodružnou hru, logickou hru nebo jakoukoli jinou, vlastní písma a textové efekty mohou změnit váš projekt ze základního na podmanivý.
Vytvořte jednoduchou 2D hru
Než se ponoříte do světa vlastních písem a textových efektů, vytvořte základní 2D herní základ. V tomto příkladu vytvořte hru s pohybem hráče pomocí funkcí Pygame.
Kód použitý v tomto článku je k dispozici v tomto úložiště GitHub a můžete jej používat zdarma pod licencí MIT.
Chcete-li začít, nastavte okno hry. Pygame poskytuje pygame.display.set_mode() funkci pro vytvoření okna, které zobrazuje vaši hru. Můžete také nastavit název okna pomocí 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")
Nyní inicializujte objekt přehrávače pomocí pygame. Rect() třída. Tato třída představuje obdélníkový tvar, který můžete použít k reprezentaci postav a předmětů ve 2D hrách.
# Initialize player
player = pygame.Rect(50, 50, 50, 50)
player_color = (255, 0, 0)
Hlavní herní smyčka je srdcem vaší hry, kde se odehrává veškerá akce. To nepřetržitě kontroluje vstup hráče, aktualizuje stav hry a překreslí 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()
Zde je zatím základní výstup:
Přidejte text do své hry
Chcete-li zobrazit text, začněte načtením písma pomocí pygame.font. písmo() třída. Můžete určit soubor písma a velikost písma:
# Load font
font = pygame.font.Font(None, 36)
S načteným písmem nyní můžete vykreslovat a zobrazovat text na obrazovce. The poskytnout() metoda objektu font bere jako argumenty text, nastavení antialiasingu a barvu. Poté můžete použít blit() funkce pro vykreslení 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 měl vypadat nějak takto:
Přidat vlastní písma
Zatímco výchozí písma fungují dobře, použití vlastních písem může výrazně zlepšit vizuální přitažlivost vaší hry. Chcete-li přidat vlastní písmo, postupujte takto.
Nejprve potřebujete vlastní soubor písem TrueType (TTF), který odpovídá estetice vaší hry. Existuje mnoho zdrojů online, kde můžete najít bezplatná nebo placená písma.
Umístěte stažený soubor s písmem do stejného adresáře jako váš herní skript. To zajišťuje, že Pygame může najít a načíst 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
Měli byste vidět text vykreslený ve zvoleném písmu:
Vytvářejte textové efekty
Přidáním textových efektů do hry můžete přeměnit statický text na dynamické prvky, které přitahují pozornost. Jedním z nejjednodušších, ale účinných textových efektů je pulzující efekt.
Efekt pulsujícího textu spočívá v tom, že text vypadá, že se rytmicky rozšiřuje a smršťuje, což mu dodává dechovou nebo pulzující kvalitu. Tento efekt můžete implementovat 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čítejte pulzační faktor na základě použití aktuálního času pygame.time.get_ticks(). Úpravou faktoru řídíte míru roztažení a smrštění, čímž dosáhnete pulsujícího efektu.
Kromě pulzujícího efektu existuje mnoho dalších textových efektů, se kterými můžete experimentovat, abyste své hře dodali šmrnc:
- Efekt psacího stroje. Zobrazte text písmeno po písmenu, simulující zvuk psacího stroje.
- Vyblednutí textu. Postupně text zeslabujte nebo rozbíjejte, abyste vytvořili plynulý přechod.
- Třesící se text. Text se chvěje nebo se mírně třepe, abyste vytvořili pocit naléhavosti nebo vzrušení.
- Zářící text. Přidejte do textu jemný zářící efekt, aby vynikl v tmavším prostředí.
Chcete-li tyto efekty implementovat, můžete kombinovat techniky, jako je změna alfa kanálu (průhlednost), úprava polohy a použití barevných přechodů.
Nebojte se být kreativní a experimentujte s kombinacemi efektů, abyste našli perfektní zapadnutí do stylu vaší hry.
Zahrnout další funkce
Až budete s vlastními fonty a textovými efekty pohodlnější, zvažte přidání dalších vylepšení do vaší hry.
Interaktivní dialogy
Implementujte interaktivní konverzace s NPC pomocí stylizovaných textových polí a vlastních písem. Umožněte hráčům vyberte možnosti dialogu které mohou ovlivnit příběh nebo výsledek hry.
Prvky HUD
Zobrazujte základní informace o hráči, ukazatele zdraví, skóre a další pomocí vizuálně přitažlivých textových efektů. Návrh dobře organizovaného a esteticky příjemného HUD může přispět k bezproblémovému hernímu zážitku.
Animovaný text
Zahrnout animace do vašich textových efektů pro dynamičtější vyprávění. Text, který mizí a mizí, posouvá se nebo mění barvu, může přitáhnout pozornost k důležitým momentům nebo událostem ve hře.
Doporučené postupy pro vlastní písma a textové efekty
Když se ponoříte do říše vlastních písem a textových efektů, můžete mít na paměti několik osvědčených postupů, které vám pomohou zajistit vybroušenou a poutavou prezentaci.
Konzistence
Udržujte konzistentní vizuální styl ve všech fontech a textových efektech vaší hry. Soudržnost v typografii přispívá k profesionálnějšímu a uhlazenějšímu vzhledu.
Čitelnost
Při výběru písem upřednostněte čitelnost. I když dekorativní písma mohou být přitažlivá, neměla by obětovat jasnost textu. Ujistěte se, že vybraná písma jsou snadno čitelná, a to i v různých velikostech.
Kontrast
Věnujte pozornost kontrastu mezi textem a pozadím. Vysoký kontrast zajišťuje, že text zůstane viditelný a snadno čitelný, což zlepšuje uživatelský dojem.
Psychologie barev
Zvažte psychologický dopad barev ve vašem textu. Různé barvy vyvolávají různé emoce, takže si vyberte barvy, které odpovídají náladě a tónu vaší hry.
Udělejte ze svých her poutavější pomocí vlastních písem a textových efektů
Integrací vlastních písem a textových efektů do vašeho projektu Pygame nejen pozdvihnete vizuální estetiku vaší hry, ale také poskytnete hráčům pohlcující a poutavější zážitek.
Promyšleně navržený text dokáže zprostředkovat emoce, udávat tón hry a vést hráče jejich cestou. Textové efekty jsou všestranným nástrojem ve vašem arzenálu vývoje her, ať už se jedná o zobrazování zásadních informací, vtipné dialogy nebo vytváření pocitu úžasu.