Naučte sa, ako zobraziť vlastné tlačidlá v samostatných scénach, aby fungovali ako jednoduché ponuky na obrazovke pre vaše hry.

Kľúčové poznatky

  • Vlastné ponuky v Godot môžu zlepšiť interakciu a používateľskú skúsenosť tým, že poskytujú jednoduchú navigáciu a rýchly prístup k herným funkciám.
  • Godot poskytuje výkonnú sadu nástrojov na vytváranie vlastných ponúk používateľského rozhrania pomocou ovládacích uzlov v hernom engine.
  • V Godot môžete vytvárať ponuky, ako sú ponuky štart, ponuky pauzy a hry cez obrazovky, pridaním vhodných uzlov a implementáciou ich funkcií pomocou GDScript.

Vlastné menu môže výrazne zlepšiť zapojenie a používateľský zážitok z vašej hry Godot. Vytvorením intuitívnych a vizuálne príťažlivých ponúk môžete hráčom poskytnúť jednoduchú navigáciu a rýchly prístup k rôznym herným funkciám.

Našťastie Godot poskytuje výkonnú sadu nástrojov na vytváranie vlastných ponúk používateľského rozhrania pomocou riadiacich uzlov.

Nastavenie hry Godot

Na začiatok vytvorte 2D hernú scénu

instagram viewer
herný engine Godot. Pridaj KinematicBody2D uzol pre postavu hráča a pripojte a CollisionShape2D uzol k nemu, definujte tvar obdĺžnika, ktorý predstavuje oblasť kolízie hráča.

Kód použitý v tomto článku je dostupný v tomto úložisko GitHub a môžete ho bezplatne používať na základe licencie MIT.

Okrem toho zahrňte a Sprite2D uzol na vizuálne zobrazenie postavy hráča. Nižšie je uvedený útržok kódu GDScript, ktorý umožňuje pohyb hráča:

rozširuje KinematicBody2D

konštantná RÝCHLOSŤ = 200
konštantná GRAVITA = 500
var velocity = Vector2.ZERO

func _physics_process (delta):
var move_direction = 0

ak Input.is_action_pressed("ui_right"):
smer pohybu += 1

ak Input.is_action_pressed("ui_left"):
smer pohybu -= 1

velocity.x = smer pohybu * RÝCHLOSŤ
rýchlosť.y += GRAVITA * delta
rýchlosť = move_and_slide (rýchlosť, Vector2.UP)

V tomto kóde definujte konštantu RÝCHLOSŤ na ovládanie rýchlosti pohybu hráča. Aktualizujte premennú rýchlosti v reakcii na vstup používateľa a zavolajte move_and_slide() posúvať hráča a zároveň brať do úvahy kolízie a gravitáciu hry.

Vytvorte ponuku Štart

Ak chcete vytvoriť úvodnú ponuku v Godot, pridajte ovládací uzol ako koreň scény. Pridajte uzol Label ako potomka tohto uzla Control a nastavte jeho text na Jednoduchá hra. Písmo, veľkosť a farbu štítku si môžete prispôsobiť tak, aby zodpovedalo štýlu vašej hry.

Potom pridajte uzol Button ako potomka uzla Control. Nastavte text tlačidla na Hrať hru. Napíšte vlastný kód pre Hrať hru tlačidlo na ovládanie jeho funkcií:

rozširuje Ovládanie

func _ready():
var playButton = $Button
playButton.connect("stlačený", seba, "_on_PlayButton_pressed")

func _on_PlayButton_pressed():
# Načítajte hernú scénu
var gameScene = predbežné načítanie("res://GameScene.tscn")

# Prechod na hernú scénu
get_tree().change_scene (gameScene)

Tento kód spája stlačené signál o PlayButton k _on_PlayButton_pressed funkciu. Táto funkcia načíta hernú scénu pomocou predbežné načítanie () a vytvorí jeho inštanciu. Potom používa change_scene() prechod na hernú scénu.

Podobne môžete pridať VÝCHOD tlačidlo, ktoré môžu hráči použiť na ukončenie hry:

func _ready():
var playButton = $Button
var exitButton = $Button2
playButton.connect("stlačený", seba, "_on_PlayButton_pressed")
exitButton.connect("stlačený", seba, "_on_ExitButton_pressed")

func _on_ExitButton_pressed():
# Ukončite hru
get_tree().quit()

Tento kód spája stlačené signál výstupného tlačidla na _on_ExitButton_pressed funkciu. Táto funkcia volá skončiť () pre ukončenie hry.

Vytvorte ponuku Pozastaviť

Ak chcete do svojej hry Godot pridať ponuku pauzy, vytvorte novú scénu s uzlom Control ako koreňom ponuky pauzy. Navrhnite vizuálne prvky menu vrátane označenia pre Pozastavené a tlačidlá na obnovenie hry, návrat do hlavnej ponuky a ukončenie hry.

Pridajte scénu ako podradený uzol hlavnej hry. Do skriptu pripojeného k uzlu Control pridajte nasledujúci kód:

rozširuje Ovládanie

func _ready():
$btnResume.connect("stlačený", seba, "_on_resume_button_pressed")
$btnHome.connect("stlačený", seba, "_on_menu_button_pressed")
$btnExit.connect("stlačený", seba, "_on_exit_button_pressed")
pause_mode = Uzol. PAUSE_MODE_PROCESS
get_tree().paused = nepravda
self.hide()

func _input (udalosť):
ak event.is_action_pressed("ui_cancel"):
aknie self.is_visible_in_tree():
# Pozastavte hru, keď ponuka pozastavenia nie je viditeľná
self.show()
get_tree().paused = true
inak:
# Zrušte pozastavenie hry, keď už je viditeľná ponuka pozastavenia
self.hide()
get_tree().paused = nepravda

func _on_resume_button_pressed():
# Skryť ponuku pozastavenia a pokračovať v hre
self.hide()
get_tree().paused = nepravda

func _on_menu_button_pressed():
# Návrat do hlavnej ponuky
get_tree().change_scene("res://StartMenu.tscn")

func _on_exit_button_pressed():
# Ukončite hru
get_tree().quit()

V _ready() funkciu, pripojte stlačené signál tlačidiel na obnovenie, domov a ukončenie na ich príslušné funkcie: _on_resume_button_pressed(), _on_menu_button_pressed(), a _on_exit_button_pressed().

Nastaviť režim_pauzy uzla do Uzol. PAUSE_MODE_PROCESS. To umožňuje hre pokračovať v behu, kým je viditeľná ponuka pozastavenia. V predvolenom nastavení skryť ponuku pozastavenia pomocou self.hide() a nastaviť get_tree().paused do falošný aby ste sa uistili, že hra nebude na začiatku pozastavená.

Ďalšie, použite príkaz if v _input (udalosť) funkcia na kontrolu, či je ui_cancel stlačí sa akcia. Ak ponuka pozastavenia nie je momentálne viditeľná, môžete hru pozastaviť zobrazením ponuky pozastavenia a nastavenia get_tree().paused do pravda.

Vytvorte hru cez obrazovku

Ak chcete implementovať hru cez obrazovku v Godot, vytvorte samostatnú scénu s názvom GameOver.tscn na definovanie jeho prvkov používateľského rozhrania a funkčnosti. Túto scénu môžete pridať ako detský uzol, keď hráč prekročí hranice obrazovky, čo naznačuje koniec hry.

Otvorte novú scénu v Godot a pridajte riadiaci uzol ako koreň scény. Do uzla Control pridajte uzol Label, aby ste zobrazili Koniec hry text. Prispôsobte si písmo, veľkosť a farbu štítku podľa vizuálneho štýlu vašej hry.

Ďalej pridajte uzly tlačidiel pre Hrať znova a VÝCHOD možnosti. Umiestnite ich správne na obrazovku.

Pripojte signály tlačidiel k ich príslušným funkciám, aby ste zvládli akcie po kliknutí. Pripojte napríklad Hrať znova tlačidlo na funkciu s názvom onPlayAgainPressed a VÝCHOD tlačidlo na funkciu s názvom onExitPressed.

Aby ste zvládli funkčnosť tlačidiel, musíte definovať zodpovedajúce funkcie v kóde GDScript hry cez scénu. Tu je príklad:

rozširuje Ovládanie

func _ready():
$Button.connect("stlačený", seba, "onPlayAgainPressed")
$Button2.connect("stlačený", seba, "onExitPressed")

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

func onExitPressed():
get_tree().quit() # Zatvorte aplikáciu hry

Po nastavení GameOver.tscn scénu a definovanú potrebnú funkčnosť tlačidiel, môžete použiť nasledujúci kód v hlavnej hernej scéne na zobrazenie hry na obrazovke:

rozširuje KinematicBody2D

func _physics_process (delta):
# Skontrolujte, či prehrávač neprekročil hranice obrazovky
var screen_size = get_viewport_rect().size
ak velocity.y > screen_size.y alebo rýchlosť.y < 0:
show_game_over_screen()

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

Obrazovka Game Over bude vyzerať asi takto, s tlačidlami na reštart alebo ukončenie hráča:

Vrátane ďalších funkcií

Pri vytváraní vlastných ponúk používateľského rozhrania v Godot pomocou riadiacich uzlov máte možnosť pridať rôzne funkcie na zlepšenie funkčnosti a vizuálnej príťažlivosti vašich ponúk. Tu je niekoľko nápadov na zváženie.

Animované prechody

Pridajte plynulé prechody medzi rôznymi obrazovkami ponuky, ako sú efekty zoslabovania, zasúvania alebo zmeny mierky. Môžete to dosiahnuť úpravou vlastností riadiacich uzlov v priebehu času pomocou doplnenia alebo prehrávačov animácií.

Zvukové efekty

Implementujte zvukové efekty na poskytnutie zvukovej spätnej väzby, keď prehrávač stlačí tlačidlá ponuky. Môžete prehrávať rôzne zvuky pre kliknutia na tlačidlá, prechody medzi ponukami alebo iné interakcie, aby ponuky boli citlivejšie a pútavejšie.

Vstavaný audio systém Godot uľahčuje prehrávanie zvukov vo vhodných časoch.

Vizuálne efekty

Použite shadery alebo časticové systémy na pridanie vizuálnych efektov do vašich ponúk. Môžete napríklad použiť jemný svetelný efekt na vybrané tlačidlá alebo vytvoriť časticové efekty, ktoré sa spustia pri určitých akciách ponuky. Tieto efekty môžu vášmu používateľskému rozhraniu dodať uhladený a pohlcujúci pocit.

Hudba v pozadí

Zvážte hranie hudbu na pozadí bez autorských práv špecifické pre každú obrazovku ponuky, aby ste vytvorili pohlcujúcu atmosféru. V Godot môžete použiť audio streamy alebo audio zbernice na spravovanie hudby na pozadí a zabezpečenie plynulých prechodov medzi rôznymi skladbami, keď prehrávač prechádza ponukami.

Podpora lokalizácie

Ak plánujete preložiť svoju hru do viacerých jazykov, zvážte pridanie podpory lokalizácie do ponúk používateľského rozhrania.

Poskytnite mechanizmus na dynamickú zmenu obsahu textu štítkov a tlačidiel na základe vybratého jazyka. Lokalizačné nástroje a zdroje Godot môžu pomôcť pri správe viacjazyčných prvkov používateľského rozhrania.

Nezabudnite otestovať a opakovať svoje ponuky so skutočnými používateľmi, aby ste sa uistili, že dodatočné funkcie vylepšia celkovú používateľskú skúsenosť a intuitívnu navigáciu. Venujte pozornosť výkonu, najmä pri používaní animácií a vizuálnych efektov, aby ste zaistili plynulé a citlivé interakcie používateľského rozhrania.

Vďaka vlastnej ponuke používateľského rozhrania budú hry Godot pútavejšie

Vlastné ponuky používateľského rozhrania môžu zohrávať kľúčovú úlohu pri zapojení hráčov. Poskytujú intuitívnu navigáciu, umožňujú jednoduchý prístup k herným funkciám a zlepšujú celkovú vizuálnu príťažlivosť vašej hry.

S trochou kreativity a trochou kódovania môžete navrhnúť menu, ktoré nielenže poskytne základné funkcie, ale tiež zaujme hráčov a zlepší ich celkový herný zážitok. Začnite teda skúmať a vytvárať svoje vlastné jedinečné menu, aby vaše hry Godot vynikli z davu.