logo

Surenkamų konstrukcijų supratimas ir pakartojimas

Simbolių ar objektų kūrimas ir sunaikinimas yra labai įprastas bet kuriame žaidime. Instantiacija reiškia objekto egzistavimą. Žaidime atsiranda, atsiranda arba generuojasi objektai, miršta priešai, išnyksta GUI elementai, o scenos įkeliamos visą žaidimo laiką.

java žemėlapis

Surenkamieji elementai yra labai naudingi, kai norite sukurti sudėtingus GameObjects arba GameObjects rinkinius vykdymo metu. Palyginti su GameObjects kūrimu nuo nulio naudojant kodą, surenkamųjų dalių kūrimas naudojant kodą yra geresnis ir turi daug privalumų.

Supraskime, kas yra surenkamieji gaminiai; nes surenkamieji elementai laikomi svarbiais norint suprasti, kaip Unity veikia kartojimas.

Surenkamieji gaminiai yra tarsi GameObject brėžiniai. Taigi galime pasakyti, kad surenkamieji elementai yra GameObject kopija, kurią galima kopijuoti ir įdėti į sceną, net jei jos dar nebuvo, kai buvo kuriama scena; kitaip tariant, surenkamieji elementai gali būti naudojami dinamiškai generuoti GameObjects.

Sukurkime surenkamą konstrukciją; Norėdami tai padaryti, turite nuvilkti norimą žaidimo objektą iš savo scenos hierarchijos į projekto Assets.

rinkiniai java
Surenkamų konstrukcijų supratimas ir pakartojimas

Dabar, norėdami sukurti GameObject, savo scenarijuje vadiname Instantiate() metodą. Šis metodas yra prieinamas MonoBehaviour, kaip parametrą priima GameObject, todėl jis žino, kurį GameObject sukurti arba kopijuoti. Jis taip pat turi skirtingus nepaisymus, skirtus pakeisti naujai sukurto objekto transformaciją, taip pat tėvystę.

Dabar sukurkite naują scenarijų pavadinimu Instantiator.cs ir nukopijuokite į jį šį kodą.

 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Instantiator : MonoBehaviour { public GameObject Diamond; // Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.Space)) { Instantiate(Diamond); } } } 

Aukščiau pateiktoje programoje naudojome įvesties klasės metodą GetKeyDown, kad patikrintume, ar paskutinio kadro metu žaidėjas paspaudė konkretų mygtuką. Metodas GetKeyDown() grąžina teisingą, jei tame rėmelyje paspaudžiamas raktas, nurodytas KeyCode enum (kuris naudojamas išvardyti visus galimus standartinės klaviatūros klavišus).

Išsaugokite scenarijų. O dabar sukurkite tuščią GameObject, dešiniuoju pelės mygtuku spustelėdami sceną skirtuke Hierarchija.

tipo liejimas ir tipo konvertavimas Java
Surenkamų konstrukcijų supratimas ir pakartojimas

Pridėkite tą scenarijaus failą (Instantiator.cs) prie naujai sukurto GameObject komponento iš skirtuko Inspektorius.

Dabar deimantiniame kintamajame vilkite tą surenkamąjį įrenginį, kurį sukūrėme.

Surenkamų konstrukcijų supratimas ir pakartojimas

Kai paleisite žaidimą dabar, paspausdami tarpo klavišą bus sukurtas naujas deimantinis objektas, identiškas tam, kurį naudojome kurdami surenkamąją dalį. Galite matyti, kad kiekvienas deimantas yra sukurtas objektų hierarchijoje. Priežastis, kodėl jų nematote žaidime, yra ta, kad šiuo metu jie visi yra kuriami tiksliai vienas ant kito. Bet jūs galite tai patikrinti skirtuke Hierarchija. Kiekvieną kartą, kai paspausite tarpo klavišą, jis bus rodomas skirtuke kaip deimantas (klonas).

Surenkamų konstrukcijų supratimas ir pakartojimas