Siit saate teada, kuidas kuvada kohandatud nuppe eraldi stseenides, et need toimiksid teie mängude jaoks lihtsate ekraanimenüüdena.
Võtmed kaasavõtmiseks
- Godoti kohandatud menüüd võivad parandada kaasatust ja kasutajakogemust, pakkudes lihtsat navigeerimist ja kiiret juurdepääsu mängufunktsioonidele.
- Godot pakub võimsat tööriistakomplekti kohandatud kasutajaliidese menüüde loomiseks, kasutades mängumootori juhtsõlme.
- Saate luua Godoti ekraanidel menüüsid, nagu käivitusmenüüd, peatamismenüüd ja mänge, lisades vastavad sõlmed ja rakendades nende funktsioone GDScripti abil.
Kohandatud menüüd võivad teie Godoti mängu kaasatust ja kasutuskogemust oluliselt suurendada. Luues intuitiivsed ja visuaalselt atraktiivsed menüüd, saate pakkuda mängijatele lihtsat navigeerimist ja kiiret juurdepääsu erinevatele mängufunktsioonidele.
Õnneks pakub Godot võimsat tööriistakomplekti kohandatud kasutajaliidese menüüde loomiseks juhtsõlmede abil.
Godot' mängu seadistamine
Alustuseks looge 2D-mängustseen Godoti mängumootor
. Lisa KinematicBody2D sõlm mängija tegelase jaoks ja lisage a Kokkupõrkekuju2D sõlm, määratlege ristküliku kuju, mis tähistab mängija kokkupõrkeala.Selles artiklis kasutatud kood on saadaval selles GitHubi hoidla ja seda saate MIT-i litsentsi alusel tasuta kasutada.
Lisaks lisage a Sprite2D sõlm mängija tegelase visuaalseks kuvamiseks. Allpool on GDScripti koodilõik mängija liikumise võimaldamiseks:
laiendab KinematicBody2D
konst KIIRUS = 200
const GRAVITSIOON = 500
var kiirus = Vector2.ZEROfunc _physics_process (delta):
var liikumise_suund = 0kui Input.is_action_pressed("ui_right"):
liikumise_suund += 1kui Input.is_action_pressed("ui_left"):
liikumise_suund -= 1
kiirus.x = liikumise_suund * KIIRUS
kiirus.y += GRAVITSIOON * delta
kiirus = liigu_ja_libisemine (kiirus, Vector2.UP)
Selles koodis määratlege konstant KIIRUS et juhtida mängija liikumiskiirust. Värskendage kiiruse muutujat vastuseks kasutaja sisendile ja helistage liigu_and_slide() mängija liigutamiseks, võttes arvesse kokkupõrkeid ja mängu gravitatsiooni.
Looge menüü Start
Godot'is käivitusmenüü loomiseks lisage stseeni juureks juhtsõlm. Lisage selle juhtsõlme alampunktiks sildi sõlm ja määrake selle tekstiks Lihtne Mäng. Saate kohandada sildi fonti, suurust ja värvi vastavalt oma mängu stiilile.
Pärast seda lisage juhtsõlme alamsõlm Button. Määrake nupu tekstiks Mängi mängu. Kirjutage kohandatud kood Mängi mängu nupp selle funktsioonide haldamiseks:
laiendab kontrolli
func _ready():
var playButton = $Button
playButton.connect("pressitud", ise, "_on_PlayButton_pressed")
func _on_PlayButton_pressed():
# Laadige mängustseen
var gameScene = eellaadimine("res://GameScene.tscn")
# Üleminek mängustseenile
get_tree().change_scene (gameScene)
See kood ühendab vajutatud signaal Esitusnupp juurde _on_PlayButton_pressed funktsiooni. See funktsioon laadib mängustseeni kasutades eellaadimine () ja loob sellest eksemplari. Seejärel kasutab change_scene() mängustseenile üleminekuks.
Samamoodi saate lisada an Välju nupp, mida mängijad saavad mängust väljumiseks kasutada:
func _ready():
var playButton = $Button
var exitButton = $Button2
playButton.connect("pressitud", ise, "_on_PlayButton_pressed")
exitButton.connect("pressitud", ise, "_on_ExitButton_pressed")
func _on_ExitButton_pressed():
# Lõpeta mäng
get_tree().quit()
See kood ühendab vajutatud väljumisnupu signaal _on_ExitButton_pressed funktsiooni. See funktsioon kutsub lõpeta () mängust väljumiseks.
Looge menüü Paus
Godoti mängule pausimenüü lisamiseks looge uus stseen, mille pausimenüü juureks on juhtsõlm. Kujundage menüü visuaalsed elemendid, sealhulgas silt Peatatud ja nupud mängu jätkamiseks, peamenüüsse naasmiseks ja mängust väljumiseks.
Lisage stseen põhimängu alamsõlmena. Lisage juhtsõlmele lisatud skripti järgmine kood:
laiendab kontrolli
func _ready():
$btnResume.connect("pressitud", ise, "_on_resume_button_pressed")
$btnHome.connect("pressitud", ise, "_on_menu_button_pressed")
$btnExit.connect("pressitud", ise, "_on_exit_button_pressed")
pause_mode = Sõlm. PAUSE_MODE_PROCESS
get_tree().paused = false
self.hide()
func _input (sündmus):
kui event.is_action_pressed("ui_tühista"):
kuimitte self.is_visible_in_tree():
# Peatage mäng, kui pausi menüü pole nähtav
self.show()
get_tree().paused = tõene
muidu:
# Lõpetage mängu paus, kui pausimenüü on juba nähtav
self.hide()
get_tree().paused = falsefunc _on_resume_button_pressed():
# Peida pausi menüü ja jätka mängu
self.hide()
get_tree().paused = falsefunc _on_menu_button_pressed():
# Naaske peamenüüsse
get_tree().change_scene("res://StartMenu.tscn")
func _on_exit_button_pressed():
# Lõpeta mäng
get_tree().quit()
Aastal _valmis() funktsiooni, ühendage vajutatud jätkamis-, kodu- ja väljumisnuppude signaal nende vastavate funktsioonide juurde: _on_resume_button_pressed(), _on_menu_button_pressed(), ja _on_exit_button_pressed().
Määrake pausi_režiim sõlmest Sõlm. PAUSE_MODE_PROCESS. See võimaldab mängul jätkata, kuni pausimenüü on nähtaval. Vaikimisi peidake pausi menüü kasutades self.hide() ja seada get_tree().paused juurde vale et mängu alguses ei peatataks.
Järgmiseks kasuta if-lauset aastal _input (sündmus) funktsioon kontrollimaks, kas ui_tühista toimingule vajutatakse. Kui pausimenüü ei ole hetkel nähtav, saate mängu peatada, näidates pausi menüüd ja seadistusi get_tree().paused juurde tõsi.
Looge mäng üle ekraani
Mängu üle ekraani rakendamiseks Godot's looge eraldi stseen nimega GameOver.tscn kasutajaliidese elementide ja funktsioonide määratlemiseks. Saate selle stseeni lisada lapsesõlmena, kui mängija ületab ekraanipiire, mis näitab mängu lõppu.
Avage Godot's uus stseen ja lisage stseeni juureks juhtsõlm. Lisage juhtsõlme kuvamiseks sildi sõlm Mäng läbi tekst. Kohandage sildi fonti, suurust ja värvi vastavalt oma mängu visuaalsele stiilile.
Järgmisena lisage nupu sõlmed Mängi uuesti ja Välju valikuid. Asetage need ekraanile sobivalt.
Ühendage nupu signaalid nende vastavate funktsioonidega, et klõpsamisel toiminguid hallata. Näiteks ühendage Mängi uuesti nuppu funktsiooni nimega onPlayAgainPressed ja Välju nuppu funktsiooni nimega onExitPressed.
Nupufunktsioonide haldamiseks peate määratlema vastavad funktsioonid mängu üle stseeni GDScript-koodis. Siin on näide:
laiendab kontrolli
func _ready():
$Button.connect("pressitud", ise, "onPlayAgainPressed")
$Button2.connect("pressitud", ise, "onExitPressed")
func onPlayAgainPressed():
var gameScenePath = "res://GameScene.tscn"
get_tree().change_scene (gameScenePath)
func onExitPressed():
get_tree().quit() # Sulgege mängurakendus
Kui olete seadistanud GameOver.tscn stseeni ja määratlenud vajaliku nupufunktsiooni, saate mängu põhistseenis kasutada mängu ekraanil kuvamiseks järgmist koodi:
laiendab KinematicBody2D
func _physics_process (delta):
# Kontrollige, kas mängija on ületanud ekraanipiire
var screen_size = get_viewport_rect().size
kui kiirus.y > ekraani_suurus.y või kiirus.y < 0:
show_game_over_screen()
func show_game_over_screen():
get_tree().change_scene("res://GameOver.tscn")
Ekraan Game Over näeb välja umbes selline, kus on nupud mängija taaskäivitamiseks või väljumiseks:
Kaasa arvatud lisafunktsioonid
Kui loote Godot'is juhtsõlmede abil kohandatud kasutajaliidese menüüsid, saate paindlikult lisada erinevaid funktsioone, et suurendada oma menüüde funktsionaalsust ja visuaalset atraktiivsust. Siin on mõned ideed, mida kaaluda.
Animeeritud üleminekud
Lisage sujuvaid üleminekuid erinevate menüüekraanide vahel, näiteks sisse-, sisse- ja skaleerimisefekte. Seda saate saavutada juhtsõlmede omaduste muutmisega aja jooksul, kasutades tweensi või animatsioonimängijaid.
Heliefektid
Rakendage heliefekte, et anda heli tagasisidet, kui mängija vajutab menüünuppe. Saate esitada erinevaid helisid nuppude klõpsamiseks, menüüde üleminekuks või muudeks interaktsioonideks, et muuta menüüd tundlikumaks ja kaasahaaravamaks.
Godoti sisseehitatud helisüsteem muudab helide esitamise sobival ajal lihtsaks.
Visuaalsed efektid
Kasutage oma menüüdele visuaalsete efektide lisamiseks varjutajaid või osakeste süsteeme. Näiteks saate valitud nuppudele rakendada peent säraefekti või luua osakeste efekte, mis käivituvad teatud menüütoimingute korral. Need efektid võivad lisada teie kasutajaliidesele poleeritud ja kaasahaarava tunde.
Taustamuusika
Kaaluge mängimist autoriõigusteta taustamuusika igale menüüekraanile omane, et luua kaasahaaravam õhkkond. Saate kasutada Godoti helivooge või helibusse, et hallata taustamuusikat ja tagada sujuv üleminek erinevate lugude vahel, kui mängija menüüdes navigeerib.
Lokaliseerimise tugi
Kui kavatsete oma mängu tõlkida mitmesse keelde, kaaluge oma kasutajaliidese menüüdesse lokaliseerimise toe lisamist.
Pakkuge mehhanismi siltide ja nuppude tekstisisu dünaamiliseks muutmiseks valitud keele põhjal. Godoti lokaliseerimistööriistad ja -ressursid võivad aidata hallata mitmekeelseid kasutajaliidese elemente.
Ärge unustage testida ja korrata oma menüüsid tegelike kasutajatega, et lisafunktsioonid täiustaksid üldist kasutuskogemust ja oleksid intuitiivsed navigeerimiseks. Sujuva ja tundliku kasutajaliidese interaktsiooni tagamiseks pöörake tähelepanu jõudluse kaalutlustele, eriti kui kasutate animatsioone ja visuaalseid efekte.
Muutke Godoti mängud kohandatud kasutajaliidese menüü abil kaasahaaravamaks
Kohandatud kasutajaliidese menüüd võivad mängida mängija kaasamisel otsustavat rolli. Need pakuvad intuitiivset navigeerimist, võimaldavad hõlpsat juurdepääsu mängu funktsioonidele ja suurendavad teie mängu üldist visuaalset atraktiivsust.
Väikese loovuse ja mõningase kodeerimisega saate kujundada menüüsid, mis mitte ainult ei paku olulisi funktsioone, vaid köidavad ka mängijaid ja parandavad nende üldist mängukogemust. Seega alustage oma ainulaadsete menüüde uurimist ja koostamist, et teie Godoti mängud teistest eristuks.