Naučite se prikazati gumbe po meri v ločenih prizorih, da bodo delovali kot preprosti zaslonski meniji za vaše igre.

Ključni zaključki

  • Meniji po meri v Godotu lahko izboljšajo sodelovanje in uporabniško izkušnjo z zagotavljanjem enostavne navigacije in hitrega dostopa do funkcij igre.
  • Godot ponuja zmogljiv nabor orodij za ustvarjanje menijev uporabniškega vmesnika po meri z uporabo kontrolnih vozlišč v motorju igre.
  • V Godotu lahko ustvarite menije, kot so začetni meniji, meniji za premor in zasloni za konec igre, tako da dodate ustrezna vozlišča in implementirate njihovo funkcionalnost s pomočjo GDScript.

Meniji po meri lahko močno izboljšajo sodelovanje in uporabniško izkušnjo vaše igre Godot. Z ustvarjanjem intuitivnih in vizualno privlačnih menijev lahko igralcem zagotovite enostavno navigacijo in hiter dostop do različnih funkcij igre.

Na srečo Godot ponuja zmogljiv nabor orodij za ustvarjanje menijev uporabniškega vmesnika po meri z uporabo kontrolnih vozlišč.

Nastavitev igre Godot

Za začetek ustvarite sceno 2D igre v igralni motor Godot. Dodaj a KinematicBody2D vozlišče za lik igralca in priložite a CollisionShape2D vozlišča do njega, določite obliko pravokotnika, ki predstavlja igralčevo območje trka.

Koda, uporabljena v tem članku, je na voljo tukaj Repozitorij GitHub in je brezplačen za uporabo pod licenco MIT.

Poleg tega vključite a Sprite2D vozlišče za vizualni prikaz lika igralca. Spodaj je delček kode GDScript, ki omogoča premikanje igralca:

razširja KinematicBody2D

const HITROST = 200
const GRAVITACIJA = 500
sprem. hitrost = Vector2.ZERO

func _physics_process (delta):
var premikanje_smer = 0

če Input.is_action_pressed("ui_right"):
smer_premikanja += 1

če Input.is_action_pressed("ui_left"):
smer_premikanja -= 1

hitrost.x = smer_premikanja * HITROST
hitrost.y += GRAVITACIJA * delta
hitrost = premikanje_in_drsenje (hitrost, Vector2.UP)

V tej kodi definirajte konstanto HITROST za nadzor hitrosti gibanja igralca. Posodobite spremenljivko hitrosti kot odgovor na vnos uporabnika in pokličite premikanje_in_drsenje() za premikanje igralca ob upoštevanju trkov in gravitacije igre.

Ustvarite meni Start

Če želite ustvariti začetni meni v Godotu, dodajte krmilno vozlišče kot koren scene. Dodajte vozlišče Label kot podrejenega temu vozlišču Control in nastavite njegovo besedilo na Preprosta igra. Prilagodite lahko pisavo, velikost in barvo oznake, da se ujemajo s slogom vaše igre.

Po tem dodajte vozlišče Button kot podrejenega vozlišča Control. Nastavite besedilo gumba na Igraj igro. Napišite kodo po meri za Igraj igro gumb za upravljanje njegove funkcije:

razširi Nadzor

func _ready():
var playButton = $Button
playButton.connect("stisnjen", jaz, "_on_PlayButton_pressed")

func _on_PlayButton_pressed():
# Naloži sceno igre
var gameScene = preload("res://GameScene.tscn")

# Prehod na prizorišče igre
get_tree().change_scene (gameScene)

Ta koda povezuje stisnjen signal za playButton do _on_PlayButton_pressed funkcijo. Ta funkcija naloži sceno igre z uporabo prednalaganje() in ustvari njegov primerek. Nato uporablja change_scene() za prehod na prizorišče igre.

Podobno lahko dodate Izhod gumb, s katerim lahko igralci zapustijo igro:

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

func _on_ExitButton_pressed():
# Zapustite igro
get_tree().quit()

Ta koda povezuje stisnjen signal gumba za izhod na _on_ExitButton_pressed funkcijo. Ta funkcija kliče prenehati() za izhod iz igre.

Ustvarite meni Pause

Če želite svoji igri Godot dodati meni za premor, ustvarite novo sceno s krmilnim vozliščem kot korenom menija za premor. Oblikujte vizualne elemente jedilnika, vključno z oznako za Zaustavljeno in gumbi za nadaljevanje igre, vrnitev v glavni meni in izhod iz igre.

Dodajte sceno kot podrejeno vozlišče glavne igre. V skript, priložen vozlišču Control, dodajte to kodo:

razširi Nadzor

func _ready():
$btnResume.connect("stisnjen", jaz, "_on_resume_button_pressed")
$btnHome.connect("stisnjen", jaz, "_v_meni_gumb_pritisnjen")
$btnExit.connect("stisnjen", jaz, "_pri_pritisku_gumba_za_izhod")
pause_mode = Vozlišče. PAUSE_MODE_PROCESS
get_tree().paused = false
self.hide()

func _input (dogodek):
če event.is_action_pressed("ui_cancel"):
čene self.is_visible_in_tree():
# Zaustavite igro, ko meni za premor ni viden
self.show()
get_tree().paused = true
drugače:
# Prekinite začasno ustavitev igre, ko je meni za premor že viden
self.hide()
get_tree().paused = false

func _on_resume_button_pressed():
# Skrij meni za premor in nadaljuj igro
self.hide()
get_tree().paused = false

func _on_menu_button_pressed():
# Vrnitev v glavni meni
get_tree().change_scene("res://StartMenu.tscn")

func _on_exit_button_pressed():
# Zapustite igro
get_tree().quit()

V _pripravljen() funkcijo, povežite stisnjen signal gumbov za nadaljevanje, domov in izhod na njihove funkcije: _on_resume_button_pressed(), _on_menu_button_pressed(), in _on_exit_button_pressed().

Nastavite pause_mode vozlišča do Vozlišče. PAUSE_MODE_PROCESS. To omogoča, da se igra nadaljuje, medtem ko je viden meni za premor. Privzeto skrijete meni za premor z uporabo self.hide() in nastavite get_tree().zaustavljeno do lažno da zagotovite, da igra na začetku ni začasno ustavljena.

Naslednji, uporabite stavek if v _input (dogodek) funkcijo za preverjanje, ali je ui_cancel dejanje je pritisnjeno. Če meni za premor trenutno ni viden, lahko igro začasno ustavite tako, da prikažete meni za premor in nastavitev get_tree().zaustavljeno do prav.

Ustvarite zaslon Game Over

Če želite v Godotu implementirati zaslon igre konec, ustvarite ločeno sceno, imenovano GameOver.tscn za določitev njegovih elementov uporabniškega vmesnika in funkcionalnosti. Ta prizor lahko dodate kot podrejeno vozlišče, ko igralec prestopi meje zaslona, ​​kar pomeni konec igre.

Odprite novo sceno v Godotu in dodajte krmilno vozlišče kot koren scene. Znotraj vozlišča Control dodajte vozlišče Label za prikaz Konec igre besedilo. Prilagodite pisavo, velikost in barvo oznake glede na vizualni slog vaše igre.

Nato dodajte vozlišča gumbov za Igraj ponovno in Izhod opcije. Ustrezno jih postavite na zaslon.

Povežite signale gumbov z njihovimi funkcijami za upravljanje dejanj ob kliku. Povežite na primer Igraj ponovno gumb za imenovano funkcijo onPlayAgainPressed in Izhod gumb za imenovano funkcijo onExitPressed.

Če želite upravljati s funkcijo gumba, morate definirati ustrezne funkcije v kodi GDScript scene igre konec. Tukaj je primer:

razširi Nadzor

func _ready():
$Button.connect("stisnjen", jaz, "onPlayAgainPressed")
$Button2.connect("stisnjen", jaz, "onExitPressed")

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

func onExitPressed():
get_tree().quit() # Zaprite aplikacijo igre

Ko nastavite GameOver.tscn prizorišče in definirali potrebno funkcijo gumba, lahko uporabite naslednjo kodo v glavnem prizorišču igre za prikaz igre na zaslonu:

razširja KinematicBody2D

func _physics_process (delta):
# Preverite, ali je igralec prestopil meje zaslona
var screen_size = get_viewport_rect().size
če velocity.y > screen_size.y oz hitrost.y < 0:
show_game_over_screen()

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

Zaslon Game Over bo videti nekako takole, z gumbi za ponovni zagon ali izhod igralca:

Vključno z dodatnimi funkcijami

Ko ustvarjate menije uporabniškega vmesnika po meri v Godotu z uporabo kontrolnih vozlišč, imate možnost dodajanja različnih funkcij za izboljšanje funkcionalnosti in vizualne privlačnosti vaših menijev. Tukaj je nekaj idej, ki jih je treba upoštevati.

Animirani prehodi

Dodajte gladke prehode med različnimi zasloni menijev, kot so učinki zatemnitve, drsenja ali povečanja. To lahko dosežete tako, da sčasoma spremenite lastnosti kontrolnih vozlišč z uporabo tweens ali animacijskih predvajalnikov.

Zvočni učinki

Izvedite zvočne učinke za zagotavljanje zvočne povratne informacije, ko predvajalnik pritisne menijske gumbe. Predvajate lahko različne zvoke za klike gumbov, prehode med meniji ali druge interakcije, da bodo meniji bolj odzivni in privlačni.

Godotov vgrajeni avdio sistem olajša predvajanje zvokov ob primernem času.

Vizualni učinki

Uporabite senčnike ali sisteme delcev, da dodate vizualne učinke v svoje menije. Na izbrane gumbe lahko na primer uporabite učinek subtilnega sijaja ali ustvarite učinke delcev, ki se sprožijo, ko pride do določenih dejanj menija. Ti učinki lahko vašemu uporabniškemu vmesniku dodajo uglajen in poglobljen občutek.

Glasba v ozadju

Razmislite o igranju glasba v ozadju brez avtorskih pravic posebej za vsak zaslon menija, da ustvarite bolj poglobljeno vzdušje. V Godotu lahko uporabite zvočne tokove ali zvočna vodila za upravljanje glasbe v ozadju in zagotavljanje brezhibnih prehodov med različnimi skladbami, ko se predvajalnik pomika po menijih.

Podpora za lokalizacijo

Če nameravate svojo igro prevesti v več jezikov, razmislite o dodajanju podpore za lokalizacijo v menije uporabniškega vmesnika.

Zagotovite mehanizem za dinamično spreminjanje besedilne vsebine oznak in gumbov glede na izbrani jezik. Godotova orodja in viri za lokalizacijo lahko pomagajo pri upravljanju večjezičnih elementov uporabniškega vmesnika.

Ne pozabite preizkusiti in ponoviti svojih menijev z resničnimi uporabniki, da zagotovite, da dodatne funkcije izboljšajo celotno uporabniško izkušnjo in so intuitivne za navigacijo. Bodite pozorni na vidike zmogljivosti, zlasti pri uporabi animacij in vizualnih učinkov, da zagotovite nemoteno in odzivno interakcijo uporabniškega vmesnika.

Naredite igre Godot bolj privlačne z menijem uporabniškega vmesnika po meri

Meniji uporabniškega vmesnika po meri lahko igrajo ključno vlogo pri angažiranju igralcev. Zagotavljajo intuitivno navigacijo, omogočajo enostaven dostop do funkcij igre in izboljšajo splošno vizualno privlačnost vaše igre.

Z malo ustvarjalnosti in nekaj kodiranja lahko oblikujete menije, ki ne zagotavljajo samo bistvene funkcionalnosti, ampak tudi očarajo igralce in izboljšajo njihovo celotno igralno izkušnjo. Torej, začnite raziskovati in izdelovati lastne edinstvene menije, da bodo vaše igre Godot izstopale iz množice.