Uzziniet, kā parādīt pielāgotas pogas atsevišķās ainās, lai tās darbotos kā vienkāršas ekrāna izvēlnes jūsu spēlēm.

Key Takeaways

  • Godot pielāgotās izvēlnes var uzlabot iesaisti un lietotāju pieredzi, nodrošinot ērtu navigāciju un ātru piekļuvi spēles funkcijām.
  • Godot nodrošina jaudīgu rīku kopu pielāgotu lietotāja interfeisa izvēlņu izveidei, izmantojot spēles dzinēja vadības mezglus.
  • Programmā Godot varat izveidot izvēlnes, piemēram, sākuma izvēlnes, pauzes izvēlnes un spēli ekrānos, pievienojot atbilstošus mezglus un ieviešot to funkcionalitāti, izmantojot GDScript.

Pielāgotas izvēlnes var ievērojami uzlabot jūsu Godot spēles iesaisti un lietotāja pieredzi. Izveidojot intuitīvas un vizuāli pievilcīgas izvēlnes, jūs varat nodrošināt spēlētājiem ērtu navigāciju un ātru piekļuvi dažādām spēļu funkcijām.

Par laimi Godot nodrošina jaudīgu rīku kopu pielāgotu lietotāja interfeisa izvēlņu izveidošanai, izmantojot vadības mezglus.

Godota spēles iestatīšana

Lai sāktu, izveidojiet 2D spēles ainu

instagram viewer
Godot spēļu dzinējs. Pievienojiet a KinematicBody2D mezglu spēlētāja tēlam un pievienojiet a CollisionShape2D mezglu, definējiet taisnstūra formu, kas attēlo spēlētāja sadursmes apgabalu.

Šajā rakstā izmantotais kods ir pieejams šajā GitHub repozitorijs un to varat izmantot bez maksas saskaņā ar MIT licenci.

Turklāt iekļaujiet a Sprite2D mezgls, lai vizuāli parādītu spēlētāja raksturu. Tālāk ir sniegts GDScript koda fragments, lai iespējotu spēlētāja kustību:

paplašina KinematicBody2D

konst ĀTRUMS = 200
const GRAVITĀCIJA = 500
var ātrums = Vector2.ZERO

func _physics_process (delta):
var move_direction = 0

ja Input.is_action_pressed("ui_right"):
kustības_virziens += 1

ja Input.is_action_pressed("ui_left"):
kustības_virziens -= 1

ātrums.x = kustības_virziens * ĀTRUMS
ātrums.y += GRAVITĀTE * delta
ātrums = move_and_slide (ātrums, Vector2.UP)

Šajā kodā definējiet konstanti ĀTRUMS lai kontrolētu spēlētāja kustības ātrumu. Atjauniniet ātruma mainīgo, reaģējot uz lietotāja ievadi, un zvaniet move_and_slide() lai pārvietotu spēlētāju, vienlaikus ņemot vērā sadursmes un spēles smagumu.

Izveidojiet izvēlni Sākt

Lai programmā Godot izveidotu sākuma izvēlni, pievienojiet vadības mezglu kā ainas sakni. Pievienojiet etiķetes mezglu kā šī vadības mezgla atvasinājumu un iestatiet tā tekstu uz Vienkārša spēle. Varat pielāgot etiķetes fontu, izmēru un krāsu, lai tas atbilstu jūsu spēles stilam.

Pēc tam pievienojiet pogas mezglu kā vadības mezgla bērnu. Iestatiet pogas tekstu uz Spēlēt spēli. Uzrakstiet pielāgotu kodu Spēlēt spēli poga, lai pārvaldītu tās funkcionalitāti:

paplašina kontroli

func _ready():
var playButton = $Button
playButton.connect("nospiests", sevi, "_on_PlayButton_pressed")

func _on_PlayButton_pressed():
# Ielādējiet spēles ainu
var gameScene = preload("res://GameScene.tscn")

# Pāreja uz spēles ainu
get_tree().change_scene (gameScene)

Šis kods savieno nospiests signāls no atskaņošanas poga uz _on_PlayButton_piespiests funkciju. Šī funkcija ielādē spēles ainu, izmantojot priekšielādēt () un izveido tā piemēru. Pēc tam tā izmanto change_scene() lai pārietu uz spēles ainu.

Līdzīgi varat pievienot an Izeja poga, ko spēlētāji var izmantot, lai izietu no spēles:

func _ready():
var playButton = $Button
var exitButton = $Button2
playButton.connect("nospiests", sevi, "_on_PlayButton_pressed")
exitButton.connect("nospiests", sevi, "_on_ExitButton_pressed")

func _on_ExitButton_pressed():
# Iziet no spēles
get_tree().quit()

Šis kods savieno nospiests izejas pogas signāls uz _on_ExitButton_pressed funkciju. Šī funkcija izsauc atmest () lai izietu no spēles.

Izveidojiet izvēlni Pauze

Lai savai Godot spēlei pievienotu pauzes izvēlni, izveidojiet jaunu ainu ar vadības mezglu kā pauzes izvēlnes sakni. Izveidojiet izvēlnes vizuālos elementus, tostarp etiķeti Pauzēts un pogas, lai atsāktu spēli, atgrieztos galvenajā izvēlnē un izietu no spēles.

Pievienojiet ainu kā galvenās spēles bērnu mezglu. Vadības mezglam pievienotajā skriptā pievienojiet šādu kodu:

paplašina kontroli

func _ready():
$btnResume.connect("nospiests", sevi, "_on_resume_button_pressed")
$btnHome.connect("nospiests", sevi, "_on_menu_button_pressed")
$btnExit.connect("nospiests", sevi, "_on_exit_button_pressed")
pause_mode = Mezgls. PAUSE_MODE_PROCESS
get_tree().paused = false
self.hide()

func _input (notikums):
ja event.is_action_pressed("ui_cancel"):
ja self.is_visible_in_tree():
# Apturiet spēli, ja pauzes izvēlne nav redzama
self.show()
get_tree().paused = true
cits:
# Atceliet spēles pauzi, kad pauzes izvēlne jau ir redzama
self.hide()
get_tree().paused = false

func _on_resume_button_pressed():
# Paslēpiet pauzes izvēlni un atsāciet spēli
self.hide()
get_tree().paused = false

func _on_menu_button_pressed():
# Atgriezties uz galveno izvēlni
get_tree().change_scene("res://StartMenu.tscn")

func _on_exit_button_pressed():
# Iziet no spēles
get_tree().quit()

Iekš _gatavs() funkciju, pievienojiet nospiests atsākšanas, sākuma un izejas pogu signāls to attiecīgajām funkcijām: _on_resume_button_pressed(), _on_menu_button_pressed(), un _on_exit_button_pressed().

Iestatiet pauzes_režīms no mezgla uz Mezgls. PAUSE_MODE_PROCESS. Tas ļauj spēlei turpināt darboties, kamēr ir redzama pauzes izvēlne. Pēc noklusējuma paslēpiet pauzes izvēlni, izmantojot self.hide() un iestatīt get_tree().paused uz viltus lai nodrošinātu, ka spēle sākotnēji netiek apturēta.

Nākamais, izmantojiet if paziņojumu iekš _input (notikums) funkcija, lai pārbaudītu, vai ui_cancel darbība tiek nospiesta. Ja pauzes izvēlne pašlaik nav redzama, varat apturēt spēli, parādot pauzes izvēlni un iestatījumu get_tree().paused uz taisnība.

Izveidojiet spēli ekrānā

Lai ieviestu spēli ekrānā pakalpojumā Godot, izveidojiet atsevišķu ainu ar nosaukumu GameOver.tscn lai definētu tā lietotāja interfeisa elementus un funkcionalitāti. Varat pievienot šo ainu kā bērnu mezglu, kad spēlētājs šķērso ekrāna robežas, norādot spēles beigas.

Godot atveriet jaunu ainu un pievienojiet vadības mezglu kā ainas sakni. Vadības mezglā pievienojiet etiķetes mezglu, lai parādītu Spēle beigusies tekstu. Pielāgojiet etiķetes fontu, izmēru un krāsu atbilstoši jūsu spēles vizuālajam stilam.

Pēc tam pievienojiet pogu mezglus Spēlēt vēlreiz un Izeja iespējas. Novietojiet tos atbilstoši ekrānam.

Savienojiet pogu signālus ar to attiecīgajām funkcijām, lai veiktu darbības, kad noklikšķināt. Piemēram, pievienojiet Spēlēt vēlreiz pogu uz funkciju, ko sauc onPlayAgainPressed un Izeja pogu uz funkciju, ko sauc onExitPressed.

Lai apstrādātu pogu funkcionalitāti, spēles virs ainas GDScript kodā ir jādefinē atbilstošās funkcijas. Šeit ir piemērs:

paplašina kontroli

func _ready():
$Button.connect("nospiests", sevi, "onPlayAgainPressed")
$Button2.connect("nospiests", sevi, "onExitPressed")

func onPlayAgainPressed():
var gameScenePath = "res://GameScene.tscn"
get_tree().change_scene (gameScenePath)

func onExitPressed():
get_tree().quit() # Aizveriet spēles lietojumprogrammu

Kad esat iestatījis GameOver.tscn ainu un definēja nepieciešamo pogu funkcionalitāti, galvenajā spēles ainā varat izmantot šādu kodu, lai parādītu spēli ekrānā:

paplašina KinematicBody2D

func _physics_process (delta):
# Pārbaudiet, vai atskaņotājs ir pārkāpis ekrāna robežas
var screen_size = get_viewport_rect().size
ja ātrums.y > ekrāna_izmērs.y vai ātrums.y < 0:
show_game_over_screen()

func show_game_over_screen():
get_tree().change_scene("res://GameOver.tscn")

Ekrāns Game Over izskatīsies apmēram šādi ar pogām, lai atskaņotājs restartētu vai izietu:

Ieskaitot papildu funkcijas

Veidojot pielāgotas lietotāja saskarnes izvēlnes pakalpojumā Godot, izmantojot vadības mezglus, varat elastīgi pievienot dažādas funkcijas, lai uzlabotu izvēlņu funkcionalitāti un vizuālo pievilcību. Šeit ir dažas idejas, kas jāņem vērā.

Animētas pārejas

Pievienojiet vienmērīgas pārejas starp dažādiem izvēlnes ekrāniem, piemēram, izbalēšanas, iebīdīšanas vai mērogošanas efektus. To var panākt, laika gaitā mainot vadības mezglu īpašības, izmantojot tweens vai animācijas atskaņotājus.

Skaņas efekti

Ieviesiet skaņas efektus, lai nodrošinātu audio atgriezenisko saiti, kad atskaņotājs nospiež izvēlnes pogas. Varat atskaņot dažādas skaņas pogas klikšķiem, izvēlnes pārejām vai citām mijiedarbībām, lai padarītu izvēlnes atsaucīgākas un saistošākas.

Godot iebūvētā audio sistēma ļauj ērti atskaņot skaņas atbilstošā laikā.

Vizuālie efekti

Izmantojiet ēnotājus vai daļiņu sistēmas, lai savām izvēlnēm pievienotu vizuālos efektus. Piemēram, atlasītajām pogām varat lietot smalku mirdzuma efektu vai izveidot daļiņu efektus, kas tiek aktivizēti, kad notiek noteiktas izvēlnes darbības. Šie efekti var pievienot jūsu lietotāja interfeisam noslīpētu un visaptverošu sajūtu.

Fona mūzika

Apsveriet iespēju spēlēt fona mūzika bez autortiesībām katram izvēlnes ekrānam, lai radītu aizraujošāku atmosfēru. Godot varat izmantot audio straumes vai audio kopnes, lai pārvaldītu fona mūziku un nodrošinātu netraucētu pāreju starp dažādiem ierakstiem, atskaņotājam pārvietojoties pa izvēlnēm.

Lokalizācijas atbalsts

Ja plānojat tulkot spēli vairākās valodās, apsveriet iespēju pievienot lokalizācijas atbalstu savām lietotāja interfeisa izvēlnēm.

Nodrošiniet mehānismu, lai dinamiski mainītu iezīmju un pogu teksta saturu, pamatojoties uz atlasīto valodu. Godot lokalizācijas rīki un resursi var palīdzēt pārvaldīt daudzvalodu lietotāja interfeisa elementus.

Neaizmirstiet pārbaudīt un atkārtot savās izvēlnēs ar reāliem lietotājiem, lai nodrošinātu, ka papildu funkcijas uzlabo vispārējo lietotāja pieredzi un ir intuitīvi lietojamas. Pievērsiet uzmanību veiktspējas apsvērumiem, jo ​​īpaši, izmantojot animācijas un vizuālos efektus, lai nodrošinātu vienmērīgu un atsaucīgu lietotāja interfeisa mijiedarbību.

Padariet Godot spēles saistošākas, izmantojot pielāgotu lietotāja interfeisa izvēlni

Pielāgotām lietotāja saskarnes izvēlnēm var būt izšķiroša nozīme spēlētāju iesaistīšanā. Tie nodrošina intuitīvu navigāciju, ļauj viegli piekļūt spēles funkcijām un uzlabo jūsu spēles vispārējo vizuālo pievilcību.

Izmantojot nelielu radošumu un nelielu kodēšanu, varat izveidot izvēlnes, kas ne tikai nodrošina būtisku funkcionalitāti, bet arī aizrauj spēlētājus un uzlabo viņu kopējo spēļu pieredzi. Tātad, sāciet izpētīt un veidot savas unikālās ēdienkartes, lai jūsu Godot spēles izceltos no pūļa.