Objektum létrehozása előfab alapján parancsfájlból
Ellenőrzési környezet
- Windows
-
- Windows 11 esetén
- Unity-szerkesztő
-
- 2021.3.3f1
- Bemeneti rendszercsomag
-
- 1.3.0
A tipp előfeltételei
A következő beállításokat előre elvégeztük a tipp leírásának előfeltételeként.
Objektum létrehozása egy szkript előregyártott eleme alapján
Az előző tippekben tárgyakat helyeztünk el az előregyártott panelről a nézetbe, de ebben az esetben előre meghatározott számú tárgyat helyezünk el, és elindítjuk a játékot. Előfordulhat azonban, hogy egyes játékok dinamikusan szeretnének objektumokat hozzáadni a játék futása közben. Ebben az esetben hozzá kell adnia azt a szkript előregyártott eleméből.
Minta létrehozása
Az új projekt üzembe helyezése után helyezze el a gombot. Próbáljunk meg létrehozni egy objektumot az előregyártott panelből minden alkalommal, amikor rákattintunk a gombra.
Hozzon létre egy előregyártott panelt. Ez ugyanaz az eljárás, mint az előző tippek.
Hozzon létre egy parancsfájlt, amely hozzáadja az objektumot, amikor legközelebb rákattint a gombra. ButtonEvent
Hagyja meg a nevet .
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
Határozza meg a mezőt úgy, hogy előre beállíthassa, melyik előregyártott termék alapján legyen generálva.
Instantiate
Átadhat egy metódust, amellyel új objektumot hozhat létre az GameObject
objektum alapján.
A létrehozott objektum pozíciója lesz az origó, és függetlenül attól, hogy hány objektum jön létre, az objektumok átfedik egymást, és nehéz megérteni, így a pozíció véletlenszerűen kerül beállításra a létrehozás után. A pozícióbeállítási érték megfelelő, mert minta.
Csatolja a szkriptet az EventSystemhez.
GameObject
be van állítva, ezért dobja ide az előregyártott terméket.
A gombra kattintva a rendszer meghívja a metódust OnClick
.
Minta végrehajtása
A létrehozás után futtassa a játékot, és kattintson a gombra. Minden kattintásnak létre kell hoznia egy objektumot.
Természetesen, mivel az előregyártott alapján jön létre, ha az előregyártott érték megváltozik, a generált objektum ennek az értéknek megfelelően jön létre.