Objekto kūrimas pagal scenarijų "Prefab"
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ę.