Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор. Прочетете още.

В този урок ще научите как да показвате и актуализирате резултати от игри в Pygame, популярна библиотека на Python за разработка на игри. До края ще можете да създадете проста игра със скок и да показвате резултата на играча на екрана, докато напредва. Играта проследява въвеждането от клавиатурата, така че можете да местите играча наляво и надясно с помощта на клавишите със стрелки.

Създаване на проста игра

Преди да можете да показвате и актуализирате резултати в Pygame, първо трябва да създадете игра, с която да работите. В този урок ще създадете проста игра, в която играч може да се движи наляво или надясно. Но преди това трябваше pip, инсталиран на вашето устройство. След като инсталирате pip, изпълнете командата по-долу, за да инсталирате модула pygame:

пип Инсталирай pygame

За да започнете, импортирайте необходимите модули и настройте основната структура на играта:

instagram viewer
импортиране pygame, sys
pygame.init()

# Настройте прозореца
екран = pygame.display.set_mode((750, 450))

# Настройте часовника за игра
часовник = pygame.time. Часовник()

# Настройте героя на играча
играч = pygame. Rect(100, 200, 50, 50)

# Поставете препятствието
пречка = pygame. Rect(200, 200, 50, 50)

# Настройте цикъла на играта
докатоВярно:
# Обработвайте събития
за събитие в pygame.event.get():
ако event.type == pygame. ИЗХОД:
pygame.quit()
sys.exit()

ако event.type == pygame. KEYDOWN:
ако event.key == pygame. K_НАЛЯВО:
играч.x -= 10
елиф event.key == pygame. K_RIGHT:
играч.x += 10

# Актуализирайте състоянието на играта

# Начертайте играта
screen.fill((0, 0, 0))
pygame.draw.rect (екран, (255, 0, 0), играч)
pygame.draw.rect (екран, (0, 255, 0), препятствие)

# Актуализирайте дисплея
pygame.display.flip()

# Ограничете скоростта на кадрите
clock.tick(60)

С този скелет код вашата основна игра може да се играе. Натиснете наляво или надясно, за да преместите героя на играча, представен от червения квадрат.

Показване и актуализиране на резултата от играта

Сега, след като сте настроили основна игра, добавете система за точкуване и покажете резултата на екрана.

Настройване на Pygame за изобразяване на текст

За да покажем текст в Pygame, първо трябва да импортираме необходимите модули и да инициализираме модула за шрифтове. За да направите това, използвайте следния код в горната част на вашия скрипт:

импортиране pygame
импортиране система
импортиране операционна система

pygame.init()
pygame.font.init()

Модулът pygame.font ви позволява да използвате възможностите на Pygame за изобразяване на текст, а функцията pygame.init() инициализира модула за шрифтове.

Създаване на основна система за точкуване

След това създайте основна система за точкуване за вашата игра. За да направите това, декларирайте и инициализирайте две променливи: score и score_increment. Променливата резултат ще следи текущия резултат на играча, а променливата score_increment ще посочи колко трябва да се увеличава резултатът всеки път, когато играчът докосне препятствие.

Добавете следния код в горната част на вашия скрипт, под импортирания:

резултат = 0
резултат_увеличение = 10

След това актуализирайте резултата, докато играта напредва. В цикъла на играта можете да проверите дали персонажът на играча се сблъсква с препятствието. Ако са, увеличете резултата със сумата, посочена в променливата score_increment.

Актуализирайте цикъла на играта, за да включите следния код:

# Актуализирайте състоянието на играта
ако player.colliderect (препятствие):
резултат += увеличение_на резултата

Този код проверява дали персонажът на играча се сблъсква с препятствието. Ако са, той увеличава резултата с определената сума.

Показване на резултата на екрана с модула за шрифтове

След като вече имаме въведена основна система за точкуване, нека покажем резултата на екрана с помощта на модула за шрифтове.

Първо, нека настроим обекта на шрифта, като добавим следния код в горната част на цикъла на играта:

# Настройте обекта на шрифта
шрифт = pygame.font. шрифт (Нито един, 36)

Този код създава шрифтов обект с размер 36 пиксела и без указано семейство шрифтове. Можете да персонализирате шрифта и размера на шрифта, като посочите различен файл с шрифт и размер във функцията Font().

След това нека начертаем резултата на екрана. Добавете следния код към цикъла на играта, след като актуализирате състоянието на играта и запълните екрана:

# Начертайте резултата на екрана
score_text = font.render(f'Score: {резултат}', Вярно, (255, 255, 255))
screen.blit (score_text, (10, 10))

Този код използва метода render() на обекта на шрифта, за да създаде текстова повърхност, съдържаща партитурата, и след това изчертава (рисува) текстовата повърхност на екрана в позиция (10, 10).

Персонализиране на външния вид на текста на партитурата

И накрая, персонализирайте външния вид на текста на партитурата, като изберете шрифт и размер на шрифта и промените цвета на текста.

За да изберете конкретен шрифт и размер на шрифта, предайте файла и размера на шрифта като аргументи на функцията Font():

шрифт = pygame.font. шрифт ('arial.ttf', 48)

Можете лесно изтегляне на различни файлове с шрифтове от интернет. След като изтеглите, просто поставете файла с шрифта в основата на вашата работна директория.

За да промените цвета на текста, подайте цветен кортеж като трети аргумент на метода render():

score_text = font.render(f'Score: {резултат}', Вярно, (0, 255, 0))

И това е! С тези промени вече трябва да имате напълно функционална система за резултат от играта, която показва резултата на екрана и го актуализира, докато играчът напредва в играта. Можете допълнително да персонализирате външния вид на текста на партитурата, като експериментирате с различни семейства шрифтове, размери и цветове.

Проследяване на резултата в играта

По-долу е пълният работен код, можете също да намерите кода на това GitHub репо.

импортиране pygame
импортиране операционна система

pygame.init()
pygame.font.init()

резултат = 0
резултат_увеличение = 10

# Настройте прозореца
екран = pygame.display.set_mode((750, 450))

# Настройте часовника за игра
часовник = pygame.time. Часовник()

# Настройте героя на играча
играч = pygame. Rect(100, 200, 50, 50)

# Поставете препятствието
пречка = pygame. Rect(200, 200, 50, 50)

# Настройте цикъла на играта
докатоВярно:
шрифт = pygame.font. шрифт (Нито един, 36)
# Обработвайте събития
за събитие в pygame.event.get():
ако event.type == pygame. ИЗХОД:
pygame.quit()
sys.exit()
ако event.type == pygame. KEYDOWN:
ако event.key == pygame. K_НАЛЯВО:
играч.x -= 10
елиф event.key == pygame. K_RIGHT:
играч.x += 10

# Актуализирайте състоянието на играта
ако player.colliderect (препятствие):
резултат += увеличение_на резултата


# Начертайте играта
screen.fill((0, 0, 0))
pygame.draw.rect (екран, (255, 0, 0), играч)
pygame.draw.rect (екран, (0, 255, 0), препятствие)

# Начертайте резултата на екрана
score_text = font.render(f'Score: {резултат}', Вярно, (255, 255, 255))
screen.blit (score_text, (10, 10))

# Актуализирайте дисплея
pygame.display.flip()

# Ограничете скоростта на кадрите
clock.tick(60)

Този код създава прозорец с размер 750x450 пиксела, герой на играч и препятствие. Той използва цикъл на игра за обработка на събития, актуализиране на състоянието и изтегляне на играта на екрана. Той също така включва система за точкуване, която увеличава резултата с десет точки всеки път, когато персонажът на играча се сблъсква с препятствието и обект на шрифт и код за изобразяване на текст за показване на резултата на екрана.

В секцията за обработка на събития кодът включва също функционалност за преместване на героя на играча наляво и надясно с помощта на клавишите със стрелки.

Цикълът на играта включва код за актуализиране на дисплея и ограничаване на честотата на кадрите до 60 FPS, гарантирайки, че играта върви гладко.

Като цяло, този код предоставя основен пример за това как да се показват и актуализират резултати от игри в Pygame и може да бъде допълнително персонализиран и разширен, за да създаде по-сложни и ангажиращи игри.

Създавайте различни игри с помощта на Pygame

Pygame е мощна и лесна за използване библиотека за създаване на игри в Python. С неговия богат набор от функции и възможности можете да създавате широка гама от игри, от прости джъмпъри и платформинги до по-сложни и завладяващи игри.

Независимо дали сте начинаещ или опитен разработчик на игри, Pygame е отличен избор за създаване на увлекателни и забавни игри.