Naučite kako prikazati prilagođene gumbe u zasebnim scenama kako bi djelovali kao jednostavni zaslonski izbornici za vaše igre.
Ključni zahvati
- Prilagođeni izbornici u Godotu mogu poboljšati angažman i korisničko iskustvo pružanjem jednostavne navigacije i brzog pristupa značajkama igre.
- Godot pruža moćan skup alata za stvaranje prilagođenih izbornika korisničkog sučelja pomoću kontrolnih čvorova u motoru igre.
- U Godotu možete izraditi izbornike kao što su početni izbornici, izbornici za pauzu i zasloni s gotovim igrama dodavanjem odgovarajućih čvorova i implementacijom njihove funkcionalnosti pomoću GDScripta.
Prilagođeni izbornici mogu uvelike poboljšati angažman i korisničko iskustvo vaše igre Godot. Stvaranjem intuitivnih i vizualno privlačnih izbornika igračima možete omogućiti jednostavnu navigaciju i brz pristup raznim značajkama igre.
Srećom, Godot pruža moćan set alata za stvaranje prilagođenih izbornika korisničkog sučelja pomoću kontrolnih čvorova.
Postavljanje igre Godot
Za početak stvorite scenu 2D igre
Godot game engine. Dodati KinematicBody2D čvor za lik igrača i priložite a CollisionShape2D čvor na njega, definirajte oblik pravokutnika koji predstavlja igračevo područje sudara.Kôd korišten u ovom članku dostupan je u ovom GitHub spremište i besplatan je za korištenje pod MIT licencom.
Dodatno uključite a Sprite2D čvor za vizualni prikaz lika igrača. Ispod je GDScript isječak koda za omogućavanje kretanja igrača:
proširuje KinematicBody2D
const BRZINA = 200
const GRAVITACIJA = 500
prom. brzina = Vector2.ZEROfunkcija _fizički_proces (delta):
var move_direction = 0ako Input.is_action_pressed("ui_right"):
smjer_kretanja += 1ako Input.is_action_pressed("ui_lijevo"):
smjer_kretanja -= 1
brzina.x = smjer_kretanja * BRZINA
brzina.y += GRAVITACIJA * delta
brzina = pomicanje_i_klizanje (brzina, Vector2.UP)
U ovom kodu definirajte konstantu UBRZATI za kontrolu brzine kretanja igrača. Ažurirajte varijablu brzine kao odgovor na korisnički unos i pozovite pomicanje_i_klizanje() za pomicanje igrača uzimajući u obzir sudare i gravitaciju igre.
Stvorite izbornik Start
Da biste stvorili početni izbornik u Godotu, dodajte kontrolni čvor kao korijen scene. Dodajte čvor oznake kao dijete ovog kontrolnog čvora i postavite njegov tekst na Jednostavna igra. Možete prilagoditi font, veličinu i boju oznake kako bi odgovarali stilu vaše igre.
Nakon toga, dodajte čvor Gumb kao dijete Kontrolnog čvora. Postavite tekst gumba na Igrati igru. Napišite prilagođeni kod za Igrati igru gumb za upravljanje njegovom funkcionalnošću:
proširuje Kontrolu
func _ready():
var playButton = $Button
playButton.connect("pritisnut", sebe, "_on_PlayButton_pressed")
func _on_PlayButton_pressed():
# Učitajte scenu igre
var gameScene = preload("res://GameScene.tscn")
# Prijelaz na scenu igre
get_tree().change_scene (gameScene)
Ovaj kod povezuje pritisnut signal od gumb za reprodukciju prema _on_PlayButton_pressed funkcija. Ta funkcija učitava scenu igre pomoću predučitavanje() i stvara njegovu instancu. Zatim se koristi promijeni_scenu() prijeći na scenu igre.
Slično tome, možete dodati Izlaz gumb koji igrači mogu koristiti za napuštanje igre:
func _ready():
var playButton = $Button
var exitButton = $Button2
playButton.connect("pritisnut", sebe, "_on_PlayButton_pressed")
exitButton.connect("pritisnut", sebe, "_on_ExitButton_pressed")
func _on_ExitButton_pressed():
# Napustite igru
get_tree().quit()
Ovaj kod povezuje pritisnut signal gumba za izlaz na _on_ExitButton_pressed funkcija. Ta funkcija poziva prestati() za izlazak iz igre.
Napravite izbornik pauze
Da biste svojoj Godot igri dodali izbornik pauze, stvorite novu scenu s kontrolnim čvorom kao korijenom izbornika pauze. Dizajnirajte vizualne elemente jelovnika, uključujući oznaku za Pauzirano i tipke za nastavak igre, povratak na glavni izbornik i izlaz iz igre.
Dodajte scenu kao podređeni čvor glavne igre. U skriptu priloženu kontrolnom čvoru dodajte sljedeći kod:
proširuje Kontrolu
func _ready():
$btnResume.connect("pritisnut", sebe, "_on_resume_button_pressed")
$btnHome.connect("pritisnut", sebe, "_na_gumb_izbornika_pritisnut")
$btnExit.connect("pritisnut", sebe, "_na_gumb_za_izlaz_pritisnut")
pause_mode = Čvor. PAUSE_MODE_PROCESS
get_tree().paused = false
self.hide()
func _input (događaj):
ako event.is_action_pressed("ui_cancel"):
akone self.is_visible_in_tree():
# Pauzirajte igru kada izbornik pauze nije vidljiv
self.show()
get_tree().paused = true
drugo:
# Poništi pauzu igre kada je izbornik pauze već vidljiv
self.hide()
get_tree().paused = falsefunc _on_resume_button_pressed():
# Sakrij izbornik pauze i nastavi igru
self.hide()
get_tree().paused = falsefunc _on_menu_button_pressed():
# Povratak na glavni izbornik
get_tree().promijeni_scenu("res://StartMenu.tscn")
func _on_exit_button_pressed():
# Napustite igru
get_tree().quit()
u _spreman() funkciju, povežite pritisnut signal gumba za nastavak, početnu stranicu i izlaz na njihove odgovarajuće funkcije: _on_resume_button_pressed(), _on_menu_button_pressed(), i _on_exit_button_pressed().
Postavi način_pauze od čvora do Čvor. PAUSE_MODE_PROCESS. To omogućuje igri da nastavi raditi dok je vidljiv izbornik pauze. Prema zadanim postavkama sakrijte izbornik pauze pomoću self.hide() i postaviti get_tree().pauzirano do lažno kako biste osigurali da igra nije početno pauzirana.
Sljedeći, koristiti if naredbu u _input (događaj) funkcija za provjeru je li ui_cancel radnja je pritisnuta. Ako izbornik pauze trenutno nije vidljiv, možete pauzirati igru prikazivanjem izbornika pauze i postavke get_tree().pauzirano do pravi.
Napravite zaslon Game Over
Da biste implementirali zaslon igre završen u Godotu, stvorite zasebnu scenu pod nazivom GameOver.tscn za definiranje njegovih elemenata korisničkog sučelja i funkcionalnosti. Ovu scenu možete dodati kao podređeni čvor kada igrač prijeđe granice zaslona, što označava kraj igre.
Otvorite novu scenu u Godotu i dodajte kontrolni čvor kao korijen scene. Unutar Kontrolnog čvora, dodajte Label čvor za prikaz Igra je gotova tekst. Prilagodite font, veličinu i boju oznake prema vizualnom stilu vaše igre.
Zatim dodajte čvorove gumba za Igraj ponovno i Izlaz opcije. Postavite ih na odgovarajući način na zaslonu.
Povežite signale gumba s njihovim odgovarajućim funkcijama kako biste upravljali radnjama kada se klikne. Na primjer, spojite Igraj ponovno gumb za funkciju tzv onPlayAgainPressed i Izlaz gumb za funkciju tzv onExitPressed.
Da biste upravljali funkcijom gumba, trebate definirati odgovarajuće funkcije u GDScript kodu scene igre završene. Evo primjera:
proširuje Kontrolu
func _ready():
$Button.connect("pritisnut", sebe, "onPlayAgainPressed")
$Button2.connect("pritisnut", sebe, "onExitPressed")
func onPlayAgainPressed():
var gameScenePath = "res://GameScene.tscn"
get_tree().change_scene (gameScenePath)
func onExitPressed():
get_tree().quit() # Zatvorite aplikaciju igre
Nakon što ste postavili GameOver.tscn scene i definirali potrebnu funkciju gumba, možete upotrijebiti sljedeći kod u glavnoj sceni igre za prikaz igre preko zaslona:
proširuje KinematicBody2D
funkcija _fizički_proces (delta):
# Provjerite je li igrač prešao granice zaslona
var screen_size = get_viewport_rect().veličina
ako velocity.y > screen_size.y ili brzina.y < 0:
show_game_over_screen()
func show_game_over_screen():
get_tree().promijeni_scenu("res://GameOver.tscn")
Zaslon Game Over izgledat će otprilike ovako, s gumbima za ponovno pokretanje ili izlazak igrača:
Uključujući dodatne značajke
Kada stvarate prilagođene izbornike korisničkog sučelja u Godotu pomoću kontrolnih čvorova, imate fleksibilnost dodavanja raznih značajki kako biste poboljšali funkcionalnost i vizualnu privlačnost svojih izbornika. Evo nekoliko ideja koje treba razmotriti.
Animirani prijelazi
Dodajte glatke prijelaze između različitih zaslona izbornika, kao što su zatamnjeni, klizeći dodaci ili efekti skaliranja. To možete postići mijenjanjem svojstava kontrolnih čvorova tijekom vremena koristeći tweens ili animacijske playere.
Zvučni efekti
Implementirajte zvučne efekte za pružanje zvučne povratne informacije kada igrač pritisne gumbe izbornika. Možete reproducirati različite zvukove za klikove na gumbe, prijelaze izbornika ili druge interakcije kako bi izbornici djelovali osjetljivije i zanimljivije.
Godotov ugrađeni audio sustav olakšava reprodukciju zvukova u odgovarajuće vrijeme.
Vizualni efekti
Koristite shadere ili sustave čestica za dodavanje vizualnih efekata vašim izbornicima. Na primjer, možete primijeniti suptilan efekt sjaja na odabrane gumbe ili stvoriti efekte čestica koji se aktiviraju kada se dogode određene radnje izbornika. Ovi efekti mogu vašem korisničkom sučelju dodati uglađen i impresivan dojam.
Pozadinska glazba
Razmislite o igranju pozadinska glazba bez autorskih prava specifično za svaki zaslon izbornika kako bi se stvorila impresivnija atmosfera. Možete koristiti audio streamove ili audio sabirnice u Godotu za upravljanje pozadinskom glazbom i osiguravanje besprijekornih prijelaza između različitih zapisa dok se igrač kreće kroz izbornike.
Podrška za lokalizaciju
Ako planirate prevesti svoju igru na više jezika, razmislite o dodavanju podrške za lokalizaciju u izbornike korisničkog sučelja.
Omogućite mehanizam za dinamičku promjenu tekstualnog sadržaja natpisa i gumba na temelju odabranog jezika. Godotovi alati i resursi za lokalizaciju mogu pomoći u upravljanju višejezičnim elementima korisničkog sučelja.
Ne zaboravite testirati i ponavljati svoje izbornike sa stvarnim korisnicima kako biste bili sigurni da dodatne značajke poboljšavaju cjelokupno korisničko iskustvo i da su intuitivne za navigaciju. Obratite pozornost na aspekte izvedbe, posebno kada koristite animacije i vizualne efekte, kako biste osigurali glatku i brzu interakciju korisničkog sučelja.
Učinite Godot igre zanimljivijim s prilagođenim izbornikom korisničkog sučelja
Prilagođeni izbornici korisničkog sučelja mogu igrati ključnu ulogu u angažmanu igrača. Omogućuju intuitivnu navigaciju, omogućuju jednostavan pristup značajkama igre i poboljšavaju ukupnu vizualnu privlačnost vaše igre.
Uz malo kreativnosti i nešto kodiranja, možete dizajnirati izbornike koji ne samo da pružaju bitnu funkcionalnost, već i osvajaju igrače i poboljšavaju njihovo cjelokupno iskustvo igranja. Dakle, počnite istraživati i izrađivati vlastite jedinstvene izbornike kako bi se vaše igre Godot istaknule u gomili.