Дајте својој игри мало личности помоћу текста који одражава њен дизајн и жанр.
Естетика игра кључну улогу у развоју игре. Мали детаљи могу утицати на то колико добро ваша игра привуче пажњу играча и урони их у свет игре. Прилагођени фонтови и текстуални ефекти вам омогућавају да унесете личност и стил у интерфејс, дијалог и ХУД елементе ваше игре.
Било да дизајнирате авантуристичку игру, слагалицу или било коју другу, прилагођени фонтови и текстуални ефекти могу да трансформишу ваш пројекат из основног у задивљујући.
Направите једноставну 2Д игру
Пре него што зароните у свет прилагођених фонтова и текстуалних ефеката, направите основну основу за 2Д игру. За овај пример, направите игру са кретањем играча користећи функције Пигаме-а.
Код који се користи у овом чланку доступан је у овом ГитХуб спремиште и бесплатан је за коришћење под МИТ лиценцом.
За почетак, подесите прозор игре. Пигаме пружа пигаме.дисплаи.сет_моде() функцију за креирање прозора који приказује вашу игру. Такође можете поставити наслов за прозор користећи пигаме.дисплаи.сет_цаптион().
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")
Сада иницијализујте објекат плејера користећи пигаме. Рецт() класа. Ова класа представља правоугаони облик, који можете користити за представљање ликова и објеката у 2Д играма.
# Initialize player
player = pygame.Rect(50, 50, 50, 50)
player_color = (255, 0, 0)
Главна петља игре је срце ваше игре, где се дешавају све акције. То континуирано проверава унос играча, ажурира стање игре и поново исцртава екран.
# 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()
Ево основног резултата до сада:
Додајте текст у своју игру
Да бисте приказали текст, почните тако што ћете учитати фонт користећи пигаме.фонт. Фонт() класа. Можете одредити датотеку фонта и величину фонта:
# Load font
font = pygame.font.Font(None, 36)
Са учитаним фонтом, сада можете да прикажете и прикажете текст на екрану. Тхе дати, пружити() метода фонт објекта узима текст, поставку антиалиасинга и боју као аргументе. Затим можете користити блит() функција за цртање приказаног текста на екрану.
# 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
Излаз би требао изгледати отприлике овако:
Додајте прилагођене фонтове
Иако подразумевани фонтови добро функционишу, коришћење прилагођених фонтова може значајно побољшати визуелну привлачност ваше игре. Да бисте додали прилагођени фонт, следите ове кораке.
Прво, потребна вам је прилагођена датотека ТруеТипе фонта (ТТФ) која одговара естетици ваше игре. Постоји много ресурса на мрежи где можете пронаћи бесплатне или плаћене фонтове.
Поставите преузету датотеку фонта у исти директоријум као и скрипта за игру. Ово осигурава да Пигаме може да лоцира и учита фонт.
# 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
Требало би да видите текст приказан у одабраном фонту:
Креирајте текстуалне ефекте
Додавање текстуалних ефеката вашој игри може трансформисати статични текст у динамичне елементе који привлаче пажњу. Један од најједноставнијих, али ефикасних текстуалних ефеката је пулсирајући ефекат.
Ефекат пулсирајућег текста подразумева да се текст чини да се ритмично шири и скупља, дајући му квалитет дисања или пулсирања. Ево како можете да примените овај ефекат:
# 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
Израчунајте фактор пулсирања на основу тренутног времена коришћења пигаме.тиме.гет_тицкс(). Подешавањем фактора контролишете степен ширења и контракције, чиме постижете пулсирајући ефекат.
Поред пулсирајућег ефекта, постоји много других текстуалних ефеката са којима можете експериментисати да бисте својој игри додали штих:
- Ефекат писаће машине. Прикажите текст слово по слово, симулирајући звук писаће машине.
- Фадинг тект. Постепено избледите текст унутра или ван да бисте направили глатки прелаз.
- Тресући текст. Нека текст подрхтава или лагано протресе да бисте створили осећај хитности или узбуђења.
- Светлећи текст. Додајте суптилни сјајни ефекат тексту како бисте га истакли у тамнијим окружењима.
Да бисте применили ове ефекте, можете комбиновати технике као што су промена алфа канала (транспарентност), измена положаја и примена прелаза боја.
Немојте се плашити да постанете креативни и експериментишете са комбинацијама ефеката како бисте пронашли савршену комбинацију за стил ваше игре.
Укључује додатне функције
Како вам буде пријатније са прилагођеним фонтовима и текстуалним ефектима, размислите о додавању додатних побољшања у своју игру.
Интерацтиве Диалогуес
Имплементирајте интерактивне разговоре са НПЦ-овима користећи стилизоване оквире за текст и прилагођене фонтове. Дозволите играчима да изаберите опције дијалога што може утицати на причу или исход игре.
ХУД Елементс
Прикажите основне информације о играчима, траке здравља, резултате и још много тога користећи визуелно привлачне текстуалне ефекте. Дизајнирање добро организованог и естетски пријатног ХУД-а може допринети беспрекорном искуству играња.
Анимирани текст
Укључите анимације у текстуалне ефекте за динамичније приповедање. Текст који бледи и нестаје, помера се или мења боју може да скрене пажњу на важне тренутке или догађаје у игри.
Најбоље праксе за прилагођене фонтове и текстуалне ефекте
Док улазите у област прилагођених фонтова и текстуалних ефеката, држање на уму неколико најбољих пракси може помоћи да се обезбеди углађена и занимљива презентација.
Доследност
Одржавајте доследан визуелни стил у фонтовима и текстуалним ефектима ваше игре. Кохезивност у типографији доприноси професионалнијем и углађенијем изгледу.
Читљивост
Дајте приоритет читљивости када бирате фонтове. Иако декоративни фонтови могу бити привлачни, не би требало да жртвују јасноћу текста. Уверите се да су одабрани фонтови лако читљиви, чак иу различитим величинама.
Контраст
Обратите пажњу на контраст између текста и позадине. Висок контраст осигурава да текст остаје видљив и лак за читање, побољшавајући корисничко искуство.
Цолор Псицхологи
Размотрите психолошки утицај боје у вашем тексту. Различите боје изазивају различите емоције, па изаберите боје које су у складу са расположењем и тоном ваше игре.
Учините своје игре привлачнијим помоћу прилагођених фонтова и текстуалних ефеката
Интеграцијом прилагођених фонтова и текстуалних ефеката у ваш Пигаме пројекат, не само да подижете визуелну естетику ваше игре, већ и играчима пружате импресивније и привлачније искуство.
Промишљено дизајниран текст може да пренесе емоције, постави тон игре и води играче кроз њихово путовање. Било да се ради о приказивању кључних информација, духовитом дијалогу или стварању осећаја чуђења, текстуални ефекти су свестран алат у вашем арсеналу за развој игара.