Научите како да прикажете прилагођена дугмад у засебним сценама да би деловали као једноставни менији на екрану за ваше игре.

Кључне Такеаваис

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

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

На срећу, Годот пружа моћан скуп алата за креирање прилагођених корисничких менија помоћу контролних чворова.

Подешавање игре Годо

За почетак креирајте 2Д сцену игре мотор игре Годот. Додајте а КинематицБоди2Д

instagram viewer
чвор за лик играча и приложити а ЦоллисионСхапе2Д чвор на њему, дефинишите облик правоугаоника који представља играчеву колизију.

Код који се користи у овом чланку доступан је у овом ГитХуб спремиште и бесплатан је за коришћење под МИТ лиценцом.

Поред тога, укључите а Сприте2Д чвор за визуелно приказивање лика играча. Испод је ГДСцрипт исечак кода који омогућава кретање играча:

проширује КинематицБоди2Д

цонст СПЕЕД = 200
цонст ГРАВИТАЦИЈА = 500
вар брзина = Вектор2.НУЛА

фунц _пхисицс_процесс (делта):
вар мове_дирецтион = 0

ако Инпут.ис_ацтион_прессед("уи_ригхт"):
смер_кретања += 1

ако Инпут.ис_ацтион_прессед("уи_лефт"):
смер_померања -= 1

брзина.к = смер_кретања * БРЗИНА
брзина.и += ГРАВИТАЦИЈА * делта
велоцити = мове_анд_слиде (брзина, Вецтор2.УП)

У овом коду дефинишите константу БРЗИНА за контролу брзине кретања играча. Ажурирајте променљиву брзине као одговор на кориснички унос и позовите мове_анд_слиде() да померите играча узимајући у обзир сударе и гравитацију игре.

Креирајте Старт мени

Да бисте креирали старт мени у Годоту, додајте контролни чвор као корен сцене. Додајте чвор Лабел као подређени овом контролном чвору и поставите његов текст на Једноставна игра. Можете да прилагодите фонт, величину и боју етикете тако да одговара стилу ваше игре.

Након тога, додајте чвор Дугме као подређени контролном чвору. Поставите текст дугмета на Играј игру. Напишите прилагођени код за Играј игру дугме за управљање његовом функционалношћу:

проширује Контролу

фунц _реади():
вар плаиБуттон = $Буттон
плаиБуттон.цоннецт("притиснут", себе, "_он_ПлаиБуттон_прессед")

фунц _он_ПлаиБуттон_прессед():
# Учитајте сцену игре
вар гамеСцене = прелоад("рес://ГамеСцене.тсцн")

# Прелазак на сцену игре
гет_трее().цханге_сцене (гамеСцене)

Овај код повезује притиснут сигнал за плаиБуттон до _он_ПлаиБуттон_прессед функција. Та функција учитава сцену игре користећи прелоад() и ствара њену инстанцу. Затим користи цханге_сцене() за прелазак на сцену игре.

Слично томе, можете додати и Изађи дугме које играчи могу да користе да напусте игру:

фунц _реади():
вар плаиБуттон = $Буттон
вар екитБуттон = $Буттон2
плаиБуттон.цоннецт("притиснут", себе, "_он_ПлаиБуттон_прессед")
екитБуттон.цоннецт("притиснут", себе, "_он_ЕкитБуттон_прессед")

фунц _он_ЕкитБуттон_прессед():
# Прекините игру
гет_трее().куит()

Овај код повезује притиснут сигнал дугмета за излаз на _он_ЕкитБуттон_прессед функција. Та функција позива одустати() да изађете из игре.

Креирајте мени за паузу

Да бисте својој Годот игри додали мени за паузу, направите нову сцену са контролним чвором као кореном менија за паузу. Дизајнирајте визуелне елементе менија, укључујући ознаку за Паузирано и дугмад за наставак игре, повратак у главни мени и излаз из игре.

Додајте сцену као подређени чвор главне игре. У скрипту приложену контролном чвору додајте следећи код:

проширује Контролу

фунц _реади():
$бтнРесуме.цоннецт("притиснут", себе, "_он_ресуме_буттон_прессед")
$бтнХоме.цоннецт("притиснут", себе, "_он_мену_буттон_прессед")
$бтнЕкит.цоннецт("притиснут", себе, "_он_екит_буттон_прессед")
паусе_моде = Чвор. ПАУСЕ_МОДЕ_ПРОЦЕСС
гет_трее().паузирано = нетачно
селф.хиде()

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

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

фунц _он_мену_буттон_прессед():
# Вратите се на главни мени
гет_трее().цханге_сцене("рес://СтартМену.тсцн")

фунц _он_екит_буттон_прессед():
# Прекините игру
гет_трее().куит()

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

Подесите паусе_моде чвора до Чвор. ПАУСЕ_МОДЕ_ПРОЦЕСС. Ово омогућава игрици да настави да ради док је мени за паузу видљив. Подразумевано, сакријте мени за паузу помоћу селф.хиде() и сет гет_трее().паузирано до лажно како би се осигурало да игра није паузирана у почетку.

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

Направите екран игре преко екрана

Да бисте имплементирали игру преко екрана у Годоту, направите засебну сцену под називом ГамеОвер.тсцн да дефинише своје елементе корисничког интерфејса и функционалност. Ову сцену можете додати као дете чвор када играч пређе границе екрана, што указује на крај игре.

Отворите нову сцену у Годоту и додајте контролни чвор као корен сцене. Унутар контролног чвора додајте чвор Лабел да бисте приказали Крај игре текст. Прилагодите фонт, величину и боју етикете у складу са визуелним стилом ваше игре.

Затим додајте чворове дугмета за Играј поново и Изађи Опције. Поставите их на одговарајући положај на екрану.

Повежите сигнале дугмета са њиховим одговарајућим функцијама да бисте управљали радњама када се кликне. На пример, повежите Играј поново дугме за функцију која се зове онПлаиАгаинПрессед анд тхе Изађи дугме за функцију која се зове онЕкитПрессед.

Да бисте управљали функцијом дугмета, морате да дефинишете одговарајуће функције у ГДСцрипт коду игре изнад сцене. Ево примера:

проширује Контролу

фунц _реади():
$Буттон.цоннецт("притиснут", себе, "онПлаиАгаинПриссед")
$Буттон2.цоннецт("притиснут", себе, "онЕкитПрессед")

фунц онПлаиАгаинПрессед():
вар гамеСценеПатх = "рес://ГамеСцене.тсцн"
гет_трее().цханге_сцене (гамеСценеПатх)

фунц онЕкитПрессед():
гет_трее().куит() # Затворите апликацију за игру

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

проширује КинематицБоди2Д

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

фунц схов_гаме_овер_сцреен():
гет_трее().цханге_сцене("рес://ГамеОвер.тсцн")

Екран Гаме Овер ће изгледати отприлике овако, са дугмадима за поновно покретање или затварање играча:

Укључујући додатне функције

Када креирате прилагођене УИ меније у Годоту помоћу контролних чворова, имате флексибилност да додате различите функције како бисте побољшали функционалност и визуелну привлачност ваших менија. Ево неколико идеја које треба размотрити.

Анимирани прелази

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

Звучни ефекти

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

Годоов уграђени аудио систем олакшава репродукцију звукова у одговарајуће време.

Визуелни ефекти

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

Позадинска музика

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

Подршка за локализацију

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

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

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

Учините Годот игре привлачнијим са прилагођеним корисничким менијем

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

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