Objekto kūrimas pagal scenarijų "Prefab"

Puslapis atnaujintas :
Puslapio sukūrimo data :

Tikrinimo aplinka

Windows
  • Langai 11
"Unity" redaktorius
  • 2021.3.3F1
Įvesties sistemos paketas
  • 1.3.0

Būtinos šio patarimo sąlygos

Šie nustatymai buvo atlikti iš anksto kaip šio patarimo aprašymo prielaida.

Objekto kūrimas pagal scenarijaus santrauką

Ankstesniuose patarimuose mes įdėjome objektus iš "Prefab" į vaizdą, tačiau šiuo atveju mes įdėjome iš anksto nustatytą objektų skaičių ir paleidžiame žaidimą. Tačiau kai kurie žaidimai gali norėti dinamiškai pridėti objektų, kol žaidimas veikia. Tokiu atveju turėsite jį pridėti iš scenarijaus įžangos.

Pavyzdžio kūrimas

Įdiegę naują projektą, padėkite mygtuką. Pabandykime sugeneruoti objektą iš surenkamojo kompiuterio kiekvieną kartą, kai spustelėjame mygtuką.

Sukurkite įvadą. Tai ta pati procedūra, kaip ir ankstesni patarimai.

Sukurkite scenarijų, kad pridėtumėte objektą kitą kartą spustelėję mygtuką. ButtonEvent Palikite pavadinimą kaip .

using UnityEngine;

public class ButtonEvent : MonoBehaviour
{
  [SerializeField] private GameObject SpritePrefab;

  public void OnClick()
  {
    // Instantiate にプレハブを渡すとそれをもとに新しいオブジェクトを生成する
    var obj = Instantiate(SpritePrefab);

    // 配置位置はランダムに
    obj.transform.localPosition = new Vector3(Random.value * 6 - 3, Random.value * 6 - 3);
  }
}

GameObject Apibrėžkite lauką taip, kad galėtumėte iš anksto nustatyti, kurį įvadą generuoti.

Instantiate Galite perduoti metodą, GameObject kad sukurtumėte naują objektą pagal tą objektą.

Sukurto objekto padėtis tampa kilme, ir nesvarbu, kiek objektų yra sukurta, objektai sutampa ir sunku suprasti, todėl padėtis nustatoma atsitiktinai po sukūrimo. Pozicijos koregavimo vertė yra tinkama, nes ji yra pavyzdys.

Pridėkite scenarijų prie "EventSystem".

GameObject yra nustatytas taip, kad numeskite čia surenkamąjį lapą.

Spustelėjus mygtuką, metodas vadinamas OnClick .

Mėginio vykdymas

Sukūrę paleiskite žaidimą ir spustelėkite mygtuką. Kiekvienas paspaudimas turėtų sugeneruoti objektą.

Žinoma, kadangi jis generuojamas remiantis surenkamuoju elementu, jei pasikeičia surenkamojo elemento vertė, sugeneruotas objektas bus sugeneruotas pagal tą vertę.