Читаоци попут вас помажу у подршци МУО. Када обавите куповину користећи везе на нашем сајту, можда ћемо зарадити провизију за партнере. Опширније.

У овом водичу ћете научити како да прикажете и ажурирате резултате игара у Пигаме-у, популарној Питхон библиотеци за развој игара. На крају ћете моћи да направите једноставну игру скакача и прикажете резултат играча на екрану како напредују. Игра прати унос са тастатуре тако да можете да померате играча лево и десно помоћу тастера са стрелицама.

Креирање једноставне игре

Пре него што будете могли да прикажете и ажурирате резултате у Пигаме-у, прво ћете морати да креирате игру са којом ћете радити. У овом водичу ћете креирати једноставну игру у којој играч може да се креће лево или десно. Али пре тога, требало је пип инсталиран на вашем уређају. Након инсталирања пип-а, покрените наредбу испод да бисте инсталирали пигаме модул:

пип инсталирај пигаме

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

увоз пигаме, сис
пигаме.инит()

# Подесите прозор
екран = пигаме.дисплаи.сет_моде((750, 450))

# Подесите сат за игру
сат = пигаме.тиме. сат()

# Подесите карактер играча
играч = пигаме. Рецт(100, 200, 50, 50)

# Поставите препреку
препрека = пигаме. Рецт(200, 200, 50, 50)

# Подесите петљу игре
докИстина:
# Руковати догађајима
за догађај ин пигаме.евент.гет():
ако евент.типе == пигаме. ОДУСТАТИ:
пигаме.куит()
сис.екит()

ако евент.типе == пигаме. КЕИДОВН:
ако евент.кеи == пигаме. К_ЛЕФТ:
плаиер.к -= 10
елиф евент.кеи == пигаме. К_ДЕСНО:
плаиер.к += 10

# Ажурирајте стање игре

# Нацртај игру
сцреен.филл((0, 0, 0))
пигаме.драв.рецт (екран, (255, 0, 0), играч)
пигаме.драв.рецт (екран, (0, 255, 0), препрека)

# Ажурирајте екран
пигаме.дисплаи.флип()

# Ограничите брзину кадрова
цлоцк.тицк(60)

Са овим скелет кодом ваша основна игра се може играти. Притисните лево или десно да померите лик играча, представљен црвеним квадратом.

Приказ и ажурирање резултата игре

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

Подешавање Пигаме-а за приказивање текста

Да бисмо приказали текст у Пигаме-у, прво морамо да увеземо потребне модуле и иницијализујемо модул фонта. Да бисте то урадили, користите следећи код на врху скрипте:

увоз пигаме
увоз сис
увоз ос

пигаме.инит()
пигаме.фонт.инит()

Модул пигаме.фонт вам омогућава да користите могућности приказивања текста Пигаме-а, а функција пигаме.инит() иницијализује модул фонта.

Креирање основног система бодовања

Затим направите основни систем бодовања за своју игру. Да бисте то урадили, декларишите и иницијализујте две променљиве: сцоре и сцоре_инцремент. Варијабла резултата ће пратити тренутни резултат играча, а променљива сцоре_инцремент ће одредити колико би резултат требало да се повећа сваки пут када играч додирне препреку.

Додајте следећи код на врх скрипте, испод увоза:

резултат = 0
сцоре_инцремент = 10

Затим ажурирајте резултат како игра напредује. У петљи игре можете проверити да ли се лик играча судара са препреком. Ако јесу, повећајте резултат за износ наведен у променљивој сцоре_инцремент.

Ажурирајте петљу игре да бисте укључили следећи код:

# Ажурирајте стање игре
ако плаиер.цоллидерецт (препрека):
резултат += повећање_скора

Овај код проверава да ли се лик играча судара са препреком. Ако јесу, повећава резултат за наведени износ.

Приказивање резултата на екрану помоћу модула Фонт

Сада када имамо основни систем бодовања, хајде да прикажемо резултат на екрану помоћу модула фонта.

Прво, подесимо објекат фонта додавањем следећег кода на врх петље игре:

# Подесите објекат фонта
фонт = пигаме.фонт. Фонт(Ниједан, 36)

Овај код креира објекат фонта величине 36 пиксела и без одређене породице фонтова. Можете прилагодити фонт и величину фонта тако што ћете навести другу датотеку фонта и величину у функцији Фонт().

Затим, нацртајмо резултат на екран. Додајте следећи код у петљу игре након што ажурирате стање игре и попуните екран:

# Нацртајте резултат на екран
сцоре_тект = фонт.рендер(ф'Сцоре: {сцоре}', Истина, (255, 255, 255))
сцреен.блит (сцоре_тект, (10, 10))

Овај код користи методу рендер() објекта фонта да креира површину текста која садржи партитуру, а затим исцртава (црта) површину текста на екрану на позицији (10, 10).

Прилагођавање изгледа текста партитуре

На крају, прилагодите изглед текста партитуре тако што ћете изабрати фонт и величину фонта и променити боју текста.

Да бисте изабрали одређени фонт и величину фонта, проследите датотеку фонта и величину као аргументе функцији Фонт():

фонт = пигаме.фонт. Фонт('ариал.ттф', 48)

Можете лако преузмите различите датотеке фонтова од интернета. Након преузимања, само поставите датотеку фонта у корен вашег радног директоријума.

Да бисте променили боју текста, проследите тупле боје као трећи аргумент методи рендер():

сцоре_тект = фонт.рендер(ф'Сцоре: {сцоре}', Истина, (0, 255, 0))

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

Праћење резултата у игри

Испод је комплетан радни код, такође можете пронаћи код на овоме ГитХуб репо.

увоз пигаме
увоз ос

пигаме.инит()
пигаме.фонт.инит()

резултат = 0
сцоре_инцремент = 10

# Подесите прозор
екран = пигаме.дисплаи.сет_моде((750, 450))

# Подесите сат за игру
сат = пигаме.тиме. сат()

# Подесите карактер играча
играч = пигаме. Рецт(100, 200, 50, 50)

# Поставите препреку
препрека = пигаме. Рецт(200, 200, 50, 50)

# Подесите петљу игре
докИстина:
фонт = пигаме.фонт. Фонт(Ниједан, 36)
# Руковати догађајима
за догађај ин пигаме.евент.гет():
ако евент.типе == пигаме. ОДУСТАТИ:
пигаме.куит()
сис.екит()
ако евент.типе == пигаме. КЕИДОВН:
ако евент.кеи == пигаме. К_ЛЕФТ:
плаиер.к -= 10
елиф евент.кеи == пигаме. К_ДЕСНО:
плаиер.к += 10

# Ажурирајте стање игре
ако плаиер.цоллидерецт (препрека):
резултат += повећање_скора


# Нацртај игру
сцреен.филл((0, 0, 0))
пигаме.драв.рецт (екран, (255, 0, 0), играч)
пигаме.драв.рецт (екран, (0, 255, 0), препрека)

# Нацртајте резултат на екран
сцоре_тект = фонт.рендер(ф'Сцоре: {сцоре}', Истина, (255, 255, 255))
сцреен.блит (сцоре_тект, (10, 10))

# Ажурирајте екран
пигаме.дисплаи.флип()

# Ограничите брзину кадрова
цлоцк.тицк(60)

Овај код креира прозор величине 750к450 пиксела, карактер играча и препреку. Користи петљу игре за руковање догађајима, ажурирање стања и извлачење игре на екран. Такође укључује систем бодовања који повећава резултат за десет поена сваки пут када игра лик судара се са препреком, а објекат фонта и код за рендеровање текста да прикаже резултат на екрану.

У одељку за руковање догађајима, код такође укључује функционалност за померање лика играча лево и десно помоћу тастера са стрелицама.

Петља игре укључује код за ажурирање екрана и ограничавање брзине кадрова на 60 ФПС, осигуравајући да игра ради глатко.

Све у свему, овај код пружа основни пример како приказати и ажурирати резултате игре у Пигаме-у, и може се додатно прилагодити и проширити да би се креирале сложеније и занимљивије игре.

Креирајте различите игре користећи Пигаме

Пигаме је моћна библиотека која се лако користи за креирање игара у Питхон-у. Са својим богатим скупом функција и могућности, можете креирати широк спектар игара, од једноставних скакача и платформера до сложенијих и импресивних игара.

Било да сте почетник или искусан програмер игара, Пигаме је одличан избор за креирање занимљивих и забавних игара.