Veselība ir celmlauzis dažās no pasaules agrākajām videospēlēm, un tā ir izplatīta mehānika, kas joprojām pastāv daudzos mūsdienu populārākajos nosaukumos. Veselība ļauj izmantot sarežģītu cīņas mehāniku, izveidot spēlētāju progresu un padarīt spēli intuitīvāku. Bet kā pievienot veselības sistēmu savām spēlēm?
Unity3D ļauj ērti pievienot 2D lietotāja interfeisa elementus 3D spēlēm, tāpēc tā ir lieliska vieta, kur pirmo reizi sākt izpētīt veselības joslas.
Ko Jūs uzzināsiet
No malas šis projekts var nešķist sarežģīts. Neskatoties uz to, jums būs jāsaprot vairākas galvenās Unity3D kodēšanas koncepcijas, lai izveidotu funkcionējošu veselības joslu. Tas nozīmē, ka, īstenojot šo projektu, ir daudz ko mācīties, tostarp:
- Kā izveidot 2D lietotāja interfeisa elementus/sprites programmā Unity3D.
- Kā rediģēt spēles objekta komponentus ar kodu.
- Kā koplietot mainīgos starp skriptiem programmā Unity3D.
1. darbība: iestatiet savu ainu
Lai varētu sākt kodēt savu veselības joslu, jums ir nepieciešama aina ar atskaņotāja modeli, uz kuru to attiecināt. Lai sāktu, varat sekot mūsu uz fiziku balstīta Unity3D rakstzīmju kontrollera rokasgrāmata lai izveidotu atskaņotāja modeli ar pamata vadīklām.
Kad ir izveidota aina un atskaņotāja modelis, ir pienācis laiks pievienot lietotāja interfeisa elementu. Ar peles labo pogu noklikšķiniet hierarhijas logā un atlasiet UI > Attēls. Tādējādi jūsu hierarhijā tiks izveidoti divi jauni vienumi: Kanvas vecākobjekts un attēla pakārtotais objekts. Mainiet bērna objekta nosaukumu uz Healthbar. Izmantojot inspektoru, izvēlieties veselības joslas platumu, augstumu un pozīciju.
Varat pievienot nedaudz lielāku lietotāja interfeisa attēlu ar melnu krāsu, lai tas darbotos kā veselības joslas fons/apmale. Vienkārši pārliecinieties, ka tas hierarhijā atrodas virs veselības joslas, lai tas tiktu rādīts aiz tā.
Šis lietotāja interfeisa elements darbojas kā jūsu veselības joslas pamats, taču jums ir nepieciešams arī spraits, lai to atdzīvinātu. Dodieties uz projektu rūti, ar peles labo pogu noklikšķiniet un atlasiet Izveidot > 2D > Sprites > Kvadrāts.
Hierarhijā atlasiet veselības joslu un velciet tikko izveidoto spraitu inspektora lodziņā Avota attēls. Jūs varat arī mainīt Attēla veids uz piepildītu, Aizpildīšanas metode uz Horizontālo un Aizpildiet Izcelsme pa kreisi. Tagad, ja palaižat savu spēli un izmantojat Aizpildījuma daudzums slīdni, jums vajadzētu redzēt, ka jūsu veselības josla samazinās un aug.
Ja neredzat UI komponentu izvēlni, dodieties uz Logs > Pakešu pārvaldnieks, un pārliecinieties, vai ir instalēta 2D pakotne.
2. darbība. Pievienojiet veselības mainīgo
Nebūtu jēgas izveidot veselības joslu, ja nebūtu iestatīts veselības mainīgais, kas nosaka tā stāvokli. Citiem skriptiem ir jāspēj piekļūt šim mainīgajam, un ir lietderīgi to ievietot kaut kur centrā. Pievienojiet to rakstzīmju vadības skriptam kā publisku peldošu failu:
publiskipeldēt spēlētājs Veselība = 1.0f;
Ja šim mainīgajam izmantojat pludiņu, jūs varat viegli attēlot jebkuru procentuālo daļu no 0 līdz 100, lai atbilstu veselības joslas lietotāja interfeisa attēla mainīgajam Aizpildījuma daudzums. Piemēram, playerHealth 0,5f ir 50% no veselības joslas platuma.
3. darbība: koplietojiet mainīgos starp skriptiem pakalpojumā Unity
Mainīgie parasti darbojas savās funkcijās un skriptos. Tas padara tos nepieejamus no citām funkcijām un skriptiem, ja vien neveicat darbības, lai norādītu kodam, kur atrast mainīgos, ar kuriem vēlaties strādāt.
Sāciet, izveidojot jaunu skripta failu ar nosaukumu Health, lai ievietotu kodu. Varat vilkt un nomest šo skriptu uz Healthbar UI elementu, kas izveidots pirmajā darbībā. Šis kods nonāk funkcijā Void Update().
Šis process sākas ar spēles objekta atrašanu, kuram pieder mainīgais. Šajā gadījumā tas ir Character_Model objekts:
GameObject Character_Model = GameObject. Atrast ("Character_Model");
Pēc tam ir pienācis laiks atrast skripta komponentu, kas satur mainīgo, ar kuru jums jāstrādā.
Character_Control character_Control = Rakstzīmju_modelis. GetComponent();
Visbeidzot, jūs varat iegūt konkrēto mainīgo, kuru meklējat. Šajā gadījumā tas ir playerHealth mainīgais, ko pievienojāt rakstzīmju kontrollerim. Piešķiriet to peldošajam mainīgajam pašreizējā skriptā ar nosaukumu currentHealth.
currentHealth = character_Control.playerHealth;
Nepieciešamas tikai dažas koda rindiņas, lai iegūtu vajadzīgo mainīgo, un jūs varat izmantot šo metodi ikreiz, kad nepieciešams piekļūt sava spēlētāja veselības stāvoklim. Kad esat pabeidzis, jūsu kodam vajadzētu izskatīties šādi:
izmantojot Sistēma. Kolekcijas;
izmantojot Sistēma. Kolekcijas. Vispārējs;
izmantojot UnityEngine;
izmantojot UnityEngine. UI;publiskiklasēVeselība: Monouzvedība
{
publiskipeldēt pašreizējāVeselība;nederīgsSākt()
{
}
nederīgsAtjaunināt()
{
GameObject Character_Model = GameObject. Atrast ("Character_Model");
Character_Control character_Control = Rakstzīmju_modelis. GetComponent();
currentHealth = character_Control.playerHealth;
}
}
4. darbība: ieprogrammējiet lietotāja saskarnes veselības joslas spēles objektu
Tagad, kad esat izveidojis veselības joslas lietotāja interfeisa elementu un jums ir piekļuve atskaņotāja stāvokļa mainīgajam, ir pienācis laiks likt tiem sadarboties. Lai sāktu, pievienojiet privātu statisku mainīgo, kurā būs jūsu veselības joslas attēla komponents:
Privātsstatisks Image Healthbar;
Pēc tam šim mainīgajam var piešķirt attēla komponentu funkcijā Void Start(), kas darbojas tikai vienu reizi.
Healthbar = GetComponent();
Tagad, kad visi mainīgie ir iestatīti, varat izmantot iepriekšējās darbības kodu, lai iestatītu veselības joslas lietotāja interfeisa objekta aizpildījuma platumu. Šeit jums nav jāveic pārveidošana; gan spēlētāja veselības stāvoklis, gan veselības joslas aizpildījuma daudzums ir mainīgi mainīgie.
Healthbar.fillAmount = pašreizējāVeselība;
Ja šis kods ir ievietots, jūsu stāvokļa josla tiks aizpildīta uz augšu un uz leju, pamatojoties uz stāvokļa mainīgo, kas atrodams kodā Character_Control. Tomēr tas ir nedaudz garlaicīgi, un tas noteikti varētu derēt ar kādu krāsu.
Sāciet ar jaunas krāsas pievienošanu, lai padarītu veselības joslu gaiši zaļā krāsā, kad spēlētājam ir daudz veselības.
Zaļa krāsa Veselība = jauns Krāsa (0.6f, 1, 0.6f, 1);
Pēc tam pievienojiet paziņojumu ja, lai pārbaudītu, vai spēlētāja veselības stāvoklis ir virs 0,3 f, t.i., 30% vai vairāk. Ja tas ir lielāks par 0,3 f, iestatiet veselības joslu, lai tā atbilstu tikko pievienotajai krāsai. Ja tas ir mazāks par 0,3 f, pagrieziet veselības stāvokļa joslu sarkanu.
ja (pašreizējā Veselība >= 0.3f) {
Healthbar.color = greenHealth;
} cits {
Healthbar.color = Color.red;
}
5. darbība: koda pārbaude
Kā redzat no pilnā koda zemāk, šis projekts ir diezgan vienkāršs, ja tas ir viss kopā. Tomēr, protams, jums ir nepieciešams veids, kā pārbaudīt savu kodu.
izmantojot Sistēma. Kolekcijas;
izmantojot Sistēma. Kolekcijas. Vispārējs;
izmantojot UnityEngine;
izmantojot UnityEngine. UI;publiskiklasēVeselība: Monouzvedība
{
Privātsstatisks Image Healthbar;
publiskipeldēt pašreizējāVeselība;nederīgsSākt()
{
Healthbar = GetComponent();
}nederīgsAtjaunināt()
{
GameObject Character_Model = GameObject. Atrast ("Character_Model");
Character_Control character_Control = Rakstzīmju_modelis. GetComponent();
currentHealth = character_Control.playerHealth;
Healthbar.fillAmount = pašreizējāVeselība;Zaļa krāsa Veselība = jauns Krāsa (0.6f, 1, 0.6f, 1);
ja (pašreizējā Veselība >= 0.3f) {
Healthbar.color = greenHealth;
} cits {
Healthbar.color = Color.red;
}
}
}
Varat pievienot vienu koda rindiņu skriptam Character_Control, lai padarītu iespējamu testēšanu. Ikreiz, kad spēlētājs nospiež taustiņu W, lai virzītos uz priekšu, noņemiet nelielu daļu veselības. Varat pievienot to pašu kodu jebkuram skriptam ar piekļuvi mainīgajam playerHealth, lai iegūtu tādus pašus rezultātus:
spēlētājs Veselība -= 0,001f;
Varat arī apsvērt iespēju pievienot savam Unity projektam unikālus līdzekļus. Jūs varat atrodiet bezmaksas Vienotības īpašumus tīmeklī, sniedzot jums iespēju atdzīvināt savu projektu bez nepieciešamības tērēt naudu.
Veselības bāru veidošana programmā Unity3D
Jūsu spēle sāk veidoties tagad, kad jūsu varonim ir veselības josla. Vēl ir daudz darāmā, taču tagad jums vajadzētu apgūt dažas no galvenajām prasmēm, kas nepieciešamas, lai sāktu gūt reālu progresu. Tomēr, protams, nekad nav par ļaunu lasīt vairāk ceļvežu.