Покрените свог главног лика као одговор на унос играча помоћу догађаја тастатуре и миша у Аркадној библиотеци.

Арцаде је популарна Питхон библиотека коју можете користити за креирање 2Д аркадних игара. То је библиотека лака за коришћење која пружа једноставан оквир за креирање игара са Питхон-ом.

Једна од битних компоненти сваке игре је кретање играча.

Прављење једноставне игре у Арцаде

Можете пронаћи комплетан код у овом ГитХуб репо.

Пре него што почнете, уверите се да имате пип инсталиран на вашем уређају. Користите ову команду да инсталирате библиотеку аркада:

пип инсталл библиотека

Након тога, креирајте класу Плаиер као подкласу арцаде. Сприте разред, и а МиГаме класа као подкласа арцаде. Прозор. Тхе МиГаме класа ће имати методе за подешавање објеката игре, њихово приказивање на екрану, ажурирање стања игре и руковање корисничким уносима. Код за креирање екрана игре и објекта играча је следећи:

увоз арцаде

СЦРЕЕН_ВИДТХ = 800
СЦРЕЕН_ХЕИГХТ = 600

класаПлаиер(аркада. Сприте):
деф__у томе__(сам):


супер().__инит__("плаиер.пнг", 0.5)
селф.центер_к = СЦРЕЕН_ВИДТХ // 2
селф.центер_и = СЦРЕЕН_ХЕИГХТ // 2

класаМиГаме(аркада. прозор):
деф__у томе__(сам):
супер().__инит__(СЦРЕЕН_ВИДТХ, СЦРЕЕН_ХЕИГХТ, "Моја игра")
селф.плаиер = Ниједан
арцаде.сет_бацкгроунд_цолор (арцаде.цолор. ЦРН)

дефподесити(сам):
селф.плаиер = Плаиер()

дефон_драв(сам):
арцаде.старт_рендер()
селф.плаиер.драв()

дефажурирање(селф, делта_тиме):
проћи

МиГаме().рун()

Додавање покрета играча помоћу уноса са тастатуре

Сада када сте креирали екран игре и објекат играча, можете да померате играча као одговор на унос са тастатуре. Дефинишите он_кеи_пресс() и он_кеи_релеасе() методе, које ћете позвати када играч притисне или пусти тастер.

дефон_кеи_пресс(селф, кључ, модификатори):
ако кључ == арцаде.кеи. ЛИЈЕВО:
селф.плаиер.цханге_к = -5
елиф кључ == арцаде.кеи. ЈЕЛ ТАКО:
селф.плаиер.цханге_к = 5
елиф кључ == арцаде.кеи. ГОРЕ:
селф.плаиер.цханге_и = 5
елиф кључ == арцаде.кеи. ДОЉЕ:
селф.плаиер.цханге_и = -5

дефон_кеи_релеасе(селф, кључ, модификатори):
ако кључ == арцаде.кеи. ЛЕВО или кључ == арцаде.кеи. ЈЕЛ ТАКО:
селф.плаиер.цханге_к = 0
елиф кључ == арцаде.кеи. УП или кључ == арцаде.кеи. ДОЉЕ:
селф.плаиер.цханге_и = 0

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

Додавање покрета играча помоћу уноса миша

Поред уноса са тастатуре, можете додати и кретање играча помоћу уноса мишем. Дефинишите он_моусе_мотион() метод, који ће се покренути када играч помери миша. Унутар методе поставите центер_к и центер_и својства објекта играча на тренутну позицију миша.

дефон_моусе_мотион(селф, к, и, дк, ди):
селф.плаиер.центер_к = к
селф.плаиер.центер_и = и

Када додајете кретање играча помоћу уноса миша, можете да прилагодите понашање објекта играча када корисник кликне или држи миша тако што ћете дефинисати методе као што су он_моусе_пресс() или он_моусе_драг(). Можете користити ове методе да покренете радње играча као што су пуцање или скакање, у зависности од механике игре.

Представљамо додатне функције

Можете додатно побољшати кретање играча узимајући у обзир убрзање и успоравање. Модифи тхе он_кеи_пресс() метод за одузимање или додавање цханге_к и цханге_и својства објекта играча, у зависности од правца кретања. Такође подесите цханге_к и цханге_и својства на 0 у он_кеи_релеасе() метод, као и раније.

дефон_кеи_пресс(селф, кључ, модификатори):
ако кључ == арцаде.кеи. ЛИЈЕВО:
селф.плаиер.цханге_к -= 5
елиф кључ == арцаде.кеи. ЈЕЛ ТАКО:
селф.плаиер.цханге_к += 5
елиф кључ == арцаде.кеи. ГОРЕ:
селф.плаиер.цханге_и += 5
елиф кључ == арцаде.кеи. ДОЉЕ:
селф.плаиер.цханге_и -= 5

дефон_кеи_релеасе(селф, кључ, модификатори):
ако кључ == арцаде.кеи. ЛЕВО или кључ == арцаде.кеи. ЈЕЛ ТАКО:
селф.плаиер.цханге_к = 0
елиф кључ == арцаде.кеи. УП или кључ == арцаде.кеи. ДОЉЕ:
селф.плаиер.цханге_и = 0

Као и ПиГаме, такође можете додајте детекцију судара између објекта играча и други објекти игре, као што су непријатељи или препреке у аркадама. То можете постићи додавањем следећег кода у ажурирање() методом МиГаме класа:

дефажурирање(селф, делта_тиме):
селф.плаиер.упдате()

# Проверите да ли постоје колизије између играча и других објеката игре
судари = арцаде.цхецк_фор_цоллисион_витх_лист (селф.плаиер, селф.енеми_лист)

за судара ин судари:
цоллисион.килл()

Направите занимљиве игре са интерактивним покретом играча

Интерактивно кретање играча је кључни аспект сваке занимљиве игре. Употреба различитих типова механике покрета као што су скакање, трчање, летење и клизање може додати разноликост и узбуђење игри.

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