Ustvarjanje predmeta, ki temelji na montaži, iz skripta
Okolje za preverjanje
- Windows
-
- Windows 11
- Urejevalnik Unity
-
- 2021.3.3F1
- Paket vhodnega sistema
-
- 1.3.0
Predpogoji za ta nasvet
Naslednje nastavitve so bile vnaprej narejene kot premisa za opis tega nasveta.
Ustvarjanje predmeta, ki temelji na montaži v skriptu
V prejšnjih nasvetih smo postavili predmete iz montaže v pogled, vendar v tem primeru postavimo vnaprej določeno število predmetov in zaženemo igro. Vendar pa bodo nekatere igre med izvajanjem igre morda želele dinamično dodajati predmete. V tem primeru ga boste morali dodati iz montaže v scenariju.
Ustvarjanje vzorca
Ko uvedete nov projekt, postavite gumb. Poskusimo ustvariti predmet iz montaže vsakič, ko kliknemo gumb.
Ustvarite montažo. To je enak postopek kot prejšnji nasveti.
Ustvarite skript za dodajanje predmeta, ko naslednjič kliknete gumb. ButtonEvent
Pustite ime kot .
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
Določite polje, tako da lahko vnaprej nastavite, na podlagi katerega montažnega elementa želite ustvariti.
Instantiate
Posredujete lahko način za ustvarjanje novega predmeta GameObject
, ki temelji na tem predmetu.
Položaj ustvarjenega objekta postane izvor in ne glede na to, koliko predmetov je ustvarjenih, se predmeti prekrivajo in je težko razumeti, zato je položaj po nastanku nastavljen naključno. Vrednost nastavitve pozicije je ustrezna, ker gre za vzorec.
Priložite skript EventSystem.
GameObject
je nastavljen tako, da tukaj spustite montažo.
Ko kliknete gumb, se OnClick
metoda imenuje.
Izvedba vzorca
Ko ste ustvarjeni, zaženite igro in kliknite gumb. Vsak klik mora ustvariti predmet.
Seveda, ker je ustvarjen na podlagi montaže, če se vrednost montaže spremeni, bo ustvarjeni objekt ustvarjen v skladu s to vrednostjo.