Sužinokite, kaip atskirose scenose rodyti pasirinktinius mygtukus, kad jie veiktų kaip paprasti žaidimų ekrano meniu.
Key Takeaways
- Pasirinktiniai Godot meniu gali pagerinti įtraukimą ir naudotojo patirtį, nes suteikia lengvą naršymą ir greitą prieigą prie žaidimo funkcijų.
- „Godot“ pateikia galingą įrankių rinkinį, skirtą tinkintų vartotojo sąsajos meniu kūrimui naudojant valdymo mazgus žaidimo variklyje.
- „Godot“ ekranuose galite kurti meniu, pvz., pradžios meniu, pristabdymo meniu ir žaidimą, pridėdami atitinkamų mazgų ir įdiegdami jų funkcijas naudodami GDScript.
Pasirinktiniai meniu gali labai padidinti jūsų „Godot“ žaidimo įtraukimą ir vartotojo patirtį. Sukūrę intuityvius ir vizualiai patrauklius meniu, galite suteikti žaidėjams lengvą naršymą ir greitą prieigą prie įvairių žaidimo funkcijų.
Laimei, „Godot“ teikia galingą įrankių rinkinį, skirtą tinkintų vartotojo sąsajos meniu kūrimui naudojant valdymo mazgus.
„Godot“ žaidimo nustatymas
Norėdami pradėti, sukurkite 2D žaidimo sceną
Godot žaidimo variklis. Pridėti „KinematicBody2D“. mazgas žaidėjo veikėjui ir pridėkite a CollisionShape2D mazgas, apibrėžkite stačiakampio formą, vaizduojančią žaidėjo susidūrimo sritį.Šiame straipsnyje naudojamas kodas pateikiamas čia GitHub saugykla ir jūs galite nemokamai naudotis pagal MIT licenciją.
Be to, įtraukite a Sprite2D mazgas, leidžiantis vizualiai parodyti žaidėjo charakterį. Žemiau yra GDScript kodo fragmentas, leidžiantis žaidėjui judėti:
pratęsia KinematicBody2D
const SPEED = 200
const GRAVITACIJA = 500
var greitis = Vector2.ZEROfunc _physics_process (delta):
var move_direction = 0jeigu Input.is_action_pressed("ui_right"):
judėjimo_kryptis += 1jeigu Input.is_action_pressed("ui_left"):
judėjimo_kryptis -= 1
greitis.x = judėjimo_kryptis * SPEED
greitis.y += GRAVITĖ * delta
greitis = judėjimas_ir_slydimas (greitis, Vector2.UP)
Šiame kode apibrėžkite konstantą GREITIS valdyti žaidėjo judėjimo greitį. Atnaujinkite greičio kintamąjį pagal vartotojo įvestį ir skambinkite move_and_slide() perkelti žaidėją atsižvelgiant į susidūrimus ir žaidimo sunkumą.
Sukurkite meniu Pradėti
Norėdami sukurti pradžios meniu Godot, pridėkite valdymo mazgą kaip scenos šaknį. Pridėkite etiketės mazgą kaip šio valdymo mazgo antrinį elementą ir nustatykite jo tekstą į Paprastas Žaidimas. Galite tinkinti etiketės šriftą, dydį ir spalvą, kad atitiktų jūsų žaidimo stilių.
Po to pridėkite mygtuko mazgą kaip valdymo mazgo antrinį elementą. Nustatykite mygtuko tekstą į Žaisti žaidimą. Parašykite pasirinktinį kodą Žaisti žaidimą mygtukas, skirtas valdyti jo funkcijas:
išplečia kontrolę
func _ready ():
var playButton = $mygtukas
playButton.connect("paspaustas", savarankiškai, "_on_PlayButton_pressed")
func _on_PlayButton_pressed():
# Įkelkite žaidimo sceną
var gameScene = preload("res://GameScene.tscn")
# Perėjimas į žaidimo sceną
get_tree().change_scene (gameScene)
Šis kodas jungia prispaustas signalas atkūrimo mygtukas prie _On_PlayButton_pressed funkcija. Ši funkcija įkelia žaidimo sceną naudojant išankstinis įkėlimas () ir sukuria jo pavyzdį. Tada naudoja change_scene() pereiti į žaidimo sceną.
Panašiai galite pridėti an Išeiti mygtukas, kurį žaidėjai gali naudoti norėdami išeiti iš žaidimo:
func _ready ():
var playButton = $mygtukas
var exitButton = $Button2
playButton.connect("paspaustas", savarankiškai, "_on_PlayButton_pressed")
exitButton.connect("paspaustas", savarankiškai, "_on_ExitButton_pressed")
func _on_ExitButton_pressed():
# Išeikite iš žaidimo
get_tree().quit()
Šis kodas jungia prispaustas išėjimo mygtuko signalas į _on_ExitButton_pressed funkcija. Ta funkcija iškviečia išeiti () norėdami išeiti iš žaidimo.
Sukurkite pristabdymo meniu
Norėdami pridėti pauzės meniu prie savo Godot žaidimo, sukurkite naują sceną su valdymo mazgu kaip pauzės meniu šaknimi. Sukurkite vaizdinius meniu elementus, įskaitant etiketę Pristabdyta ir mygtukus, norėdami tęsti žaidimą, grįžti į pagrindinį meniu ir išeiti iš žaidimo.
Pridėkite sceną kaip pagrindinio žaidimo vaikišką mazgą. Prie valdymo mazgo pridėtame scenarijuje pridėkite šį kodą:
išplečia kontrolę
func _ready ():
$btnResume.connect("paspaustas", savarankiškai, "_on_resume_button_pressed")
$btnHome.connect("paspaustas", savarankiškai, "_on_menu_button_pressed")
$btnExit.connect("paspaustas", savarankiškai, "_on_exit_button_pressed")
pause_mode = Mazgas. PAUSE_MODE_PROCESS
get_tree().paused = false
self.hide()
func _input (įvykis):
jeigu event.is_action_pressed("ui_cancel"):
jeigune self.is_visible_in_tree():
# Pristabdykite žaidimą, kai nematote pauzės meniu
self.show()
get_tree().paused = tiesa
Kitas:
# Atšaukti žaidimo pristabdymą, kai jau matomas pauzės meniu
self.hide()
get_tree().paused = falsefunc _on_resume_button_pressed():
# Paslėpkite pauzės meniu ir tęskite žaidimą
self.hide()
get_tree().paused = falsefunc _on_menu_button_pressed():
# Grįžkite į pagrindinį meniu
get_tree().change_scene("res://StartMenu.tscn")
func _on_exit_button_pressed():
# Išeikite iš žaidimo
get_tree().quit()
Viduje _ready () funkciją, prijunkite prispaustas Tęsimo, pradžios ir išėjimo mygtukų signalas atitinkamoms funkcijoms: _on_resume_button_pressed(), _on_menu_button_pressed(), ir _on_exit_button_pressed().
Nustatyti pause_mode iš mazgo į Mazgas. PAUSE_MODE_PROCESS. Tai leidžia žaisti toliau, kol matomas pauzės meniu. Pagal numatytuosius nustatymus paslėpkite pristabdymo meniu naudodami self.hide() ir nustatyti get_tree().paused į klaidinga kad žaidimas nebūtų pristabdytas iš pradžių.
Kitas, naudokite if teiginį viduje _input (įvykis) funkcija patikrinti, ar ui_cancel paspaudžiamas veiksmas. Jei pauzės meniu šiuo metu nematote, galite pristabdyti žaidimą parodydami pauzės meniu ir nustatymą get_tree().paused į tiesa.
Sukurkite žaidimą per ekraną
Norėdami įgyvendinti žaidimą per ekraną „Godot“, sukurkite atskirą sceną, vadinamą GameOver.tscn apibrėžti jo vartotojo sąsajos elementus ir funkcijas. Galite pridėti šią sceną kaip vaiko mazgą, kai žaidėjas kerta ekrano ribas, nurodant žaidimo pabaigą.
Atidarykite naują sceną Godot ir pridėkite valdymo mazgą kaip scenos šaknį. Valdymo mazge pridėkite etikečių mazgą, kad būtų rodomas Žaidimas baigtas tekstą. Tinkinkite etiketės šriftą, dydį ir spalvą pagal savo žaidimo vaizdinį stilių.
Tada pridėkite mygtukų mazgus Žaisti vėl ir Išeiti galimybės. Tinkamai padėkite juos ekrane.
Prijunkite mygtukų signalus prie atitinkamų funkcijų, kad galėtumėte atlikti veiksmus spustelėjus. Pavyzdžiui, prijunkite Žaisti vėl mygtuką į funkciją, vadinamą onPlayAgainPressed ir Išeiti mygtuką į funkciją, vadinamą onExitPressed.
Norėdami valdyti mygtukų funkcijas, turite apibrėžti atitinkamas funkcijas žaidimo scenos GDScript kode. Štai pavyzdys:
išplečia kontrolę
func _ready ():
$Button.connect("paspaustas", savarankiškai, "onPlayAgainPressed")
$Button2.connect("paspaustas", savarankiškai, "onExitPressed")
func onPlayAgainPressed():
var gameScenePath = "res://GameScene.tscn"
get_tree().change_scene (gameScenePath)
func onExitPressed():
get_tree().quit() # Uždarykite žaidimo programą
Kai nustatysite GameOver.tscn scenoje ir apibrėžė reikiamą mygtuko funkcionalumą, galite naudoti šį kodą pagrindinėje žaidimo scenoje, kad žaidimas būtų rodomas ekrane:
pratęsia KinematicBody2D
func _physics_process (delta):
# Patikrinkite, ar žaidėjas neperžengė ekrano ribų
var screen_size = get_viewport_rect().dydis
jeigu greitis.y > ekrano_dydis.y arba greitis.y < 0:
show_game_over_screen()
func show_game_over_screen():
get_tree().change_scene("res://GameOver.tscn")
„Game Over“ ekranas atrodys maždaug taip su mygtukais, kuriais grotuvas gali paleisti iš naujo arba išeiti:
Įskaitant papildomas funkcijas
Kurdami pasirinktinius vartotojo sąsajos meniu Godot naudodami valdymo mazgus, galite lanksčiai pridėti įvairių funkcijų, kad pagerintumėte meniu funkcionalumą ir vizualinį patrauklumą. Štai keletas idėjų, kurias reikia apsvarstyti.
Animuoti perėjimai
Pridėkite sklandų perėjimą tarp skirtingų meniu ekranų, pvz., išnykimo, įstumimo ar mastelio keitimo efektų. Tai galite pasiekti pakeisdami valdymo mazgų savybes laikui bėgant naudodami „tweens“ arba animacijos grotuvus.
Garso efektai
Įdiekite garso efektus, kad gautumėte garso grįžtamąjį ryšį, kai grotuvas paspaudžia meniu mygtukus. Galite leisti skirtingus mygtukų paspaudimų, meniu perėjimų ar kitų sąveikų garsus, kad meniu būtų jautresnis ir patrauklesnis.
Godot integruota garso sistema leidžia lengvai leisti garsus tinkamu laiku.
Vizualiniai efektai
Norėdami pridėti vaizdo efektų į savo meniu, naudokite šešėliuotojus arba dalelių sistemas. Pavyzdžiui, pasirinktiems mygtukams galite pritaikyti subtilų švytėjimo efektą arba sukurti dalelių efektus, kurie įsijungia, kai atliekami tam tikri meniu veiksmai. Šie efektai gali suteikti jūsų vartotojo sąsajai patobulintą ir įtraukiantį pojūtį.
Fonine muzika
Apsvarstykite galimybę žaisti Foninė muzika be autorių teisių kiekvienam meniu ekranui, kad sukurtumėte įtraukiančią atmosferą. „Godot“ galite naudoti garso srautus arba garso magistrales, kad galėtumėte valdyti foninę muziką ir užtikrinti sklandų perėjimą tarp skirtingų takelių, kai grotuvas naršo meniu.
Lokalizacijos palaikymas
Jei planuojate išversti žaidimą į kelias kalbas, apsvarstykite galimybę į vartotojo sąsajos meniu įtraukti lokalizacijos palaikymą.
Pateikite mechanizmą, leidžiantį dinamiškai keisti etikečių ir mygtukų teksto turinį pagal pasirinktą kalbą. „Godot“ lokalizavimo įrankiai ir ištekliai gali padėti valdyti daugiakalbius vartotojo sąsajos elementus.
Nepamirškite išbandyti ir kartoti savo meniu su tikrais vartotojais, kad įsitikintumėte, jog papildomos funkcijos pagerina bendrą vartotojo patirtį ir yra intuityvi naršymas. Atkreipkite dėmesį į našumą, ypač kai naudojate animaciją ir vaizdinius efektus, kad užtikrintumėte sklandžią ir reaguojančią vartotojo sąsają.
Padarykite „Godot“ žaidimus patrauklesnius naudojant tinkintą vartotojo sąsajos meniu
Pasirinktiniai vartotojo sąsajos meniu gali atlikti lemiamą vaidmenį žaidėjų įsitraukime. Jie suteikia intuityvią naršymą, leidžia lengvai pasiekti žaidimo funkcijas ir pagerina bendrą žaidimo patrauklumą.
Pasitelkę šiek tiek kūrybiškumo ir šiek tiek koduodami galite sukurti meniu, kuris ne tik suteiks esminių funkcijų, bet ir sužavės žaidėjus bei pagerins jų bendrą žaidimų patirtį. Taigi, pradėkite tyrinėti ir kurti savo unikalius meniu, kad jūsų Godot žaidimai išsiskirtų iš minios.