2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Tässä artikkelissa jatkamme taitojen optimointia, ja nyt hahmoon lisätyt aktiiviset taidot voidaan synkronoida käyttöliittymään. Tässä artikkelissa kehitämme taitojen kulutusta (taitojen vapauttaminen manan vähentämiseksi) ja jäähdytysmekanismia.
Näemme, että taitoluokan oletusarvossa voit asettaa sen jäähdytyksen ja kulutetun GE:n
Siksi seuraavaksi käytämme GE:tä taitojen jäähdytyksen ja kulutuksen asettamiseen.
Luomme ensin suunnitelman, ja valittu pääluokka on Gameplay Effect
Nimeä se GE_Cost_FireBolt, mikä tarkoittaa tulipallon hintaa.
Jos haluat kuluttaa keston, valitse Instant.
Sitten lisäämme Muokkaimet vähentämään hahmon manamäärää, vähentäen sitä 20:llä joka kerta, kun taitoa käytetään.
Yksinkertainen kulutusGE luodaan ja me sovellamme sitä taitoihin
Seuraavaksi meidän on kutsuttava taidon Commit Ability -solmu. Tämä solmu vähentää taitoon vaaditun manan.
Commit Ability on yhtenäinen solmu manan ja jäähdytyksen vähentämiseksi.
Suorita testivaikutus
Ensin määritetään, aktivoituuko taito, jos manaa ei ole tarpeeksi Tulostamme tiedot ennen kulutuksen käsittelyä.
Jos manamäärä riittää, se voidaan tulostaa onnistuneesti, mutta jos manamäärä ei voi tukea taidon vapauttamista, sitä ei tulosteta, mikä todistaa, että jos resursseja ei ole tarpeeksi, taitoa ei syötetä, ja sitä ei arvioida sitoutumiskyvyllä, jota käytetään vain resurssisolmussa.
Tarkastelemme lähdekoodia ja sen kutsuma koodi on K2_CommitAbility
Sisältä kutsutaan CommitAbility toteuttamaan logiikka, jonka jälkeen tarkistetaan, riittääkö kulutus osaamisen tuottamiseen, ja toiminto kutsutaan vähentämään resursseja.
CommExecute on resurssien vähennystoiminto, joka kutsuu sisäisesti resurssien vähennystä ja jäähdytystä
Katso Apply Cooldown, joka vie taitotason ja soveltaa GE:tä ASC:hen
Sovellusresursseja kulutetaan samalla tavalla ja myös taitotasoja saadaan.
Nyt tiedämme, että taitojen kulutuksen käyttäminen voi muuttaa sen kuluttaman manan määrää taitotason kautta. Voimme käyttää taulukkoa eri tasojen ja manan kulutuksen määrittämiseen.
Joten luomme uuden käyrätaulukon asettaaksemme taitojen manakulutuksen eri tasoille.
Luo käyrätaulukko, valitse tyypiksi Vakio ja aseta manankulutus kullakin tasolla kiinteään arvoon.
Nimetty CT_Cost
Lisää sisäisesti taitomanan kulutus Fireballin tasolta 1 tasolle 10.
Käytä sitten käyrätaulukkoa tässä GE:ssä, valitse luotu rivi ja aseta arvoksi -1
Muokkaa sitten alkuperäistä taitotasoa koodissa testausta varten
Taidon vapauttamisen jälkeen manamäärä on kolme kertaa suurempi kuin ennen, mikä todistaa, että asetuksissa ei ole ongelmia.
Taidon jäähdytyksen periaate on kiinnittää jäähdytysmerkki ASC:hen jäähdytysvaiheen aikana. Tätä taitoa ei voi käyttää uudelleen jäähdytystunnisteen ollessa olemassa.
Joten, haluamme toteuttaa jäähdytyksen, luo ensin etiketti jäähdytystä varten
FGameplayTag Cooldown_Fire_FireBolt; //火球术冷却标签
Rekisteröidy sitten tag Manageriin
GameplayTags.Cooldown_Fire_FireBolt = UGameplayTagsManager::Get()
.AddNativeGameplayTag(
FName("Cooldown.Fire.FireBolt"),
FString("火球术冷却标签")
);
Luo tulipallon jäähdyttämään GE:tä
Muokkaa GE aikaherkäksi On Duration
Kuten näet tästä, jäähtymisaika voidaan asettaa useilla menetelmillä, joilla muutimme arvoa aiemmin. Tässä käytetään yksinkertaisinta, asettamalla se suoraan 1 sekuntiin.
Meidän ei tarvitse muokata hahmoihin liittyvää sisältöä. Meidän tarvitsee vain lisätä viilennystunniste ASC:hen, kun tämä GE tulee voimaan.
Lisää jäähdytystarra Actoriin tämän komponentin kautta ja lisää luomamme jäähdytystarra.
Käytä sitten jäähdytystä taitoon
Testin aikana havaitsimme, että voimme vapauttaa taidon vain kerran sekunnissa.
Luomme hahmolle yleensä vain yhden hahmotaidon esiintymän. Jotta asiakas ei sammuttaisi taitoa ennen kuin taito laukeaa, lopetamme taidon, kun taidon montaasianimaatio päättyy tai miksaus päättyy. väkisin peruutettu, ja kun taito loppuu, pystyä jatkamaan montaasin pelaamista.
Meidän on myös otettava käyttöön Retrigger Instanced Ability, jotta se sammuttaa edellisen liipaisimen, kun se laukeaa uudelleen.
Seuranta: Nyt meillä on kulutus ja se voidaan näyttää oikein käyttöliittymässä, mutta jäähdytystä ei ole vielä otettu käyttöön taidon käytön jälkeen, taidon jäähdytyksen etenemistä ei voida näyttää taitokäyttöliittymässä jäähdytystaidon muutokset tulevaisuudessa ja näytä se käyttöliittymän yläpuolella.