Objektum létrehozása előfab alapján parancsfájlból

Oldal frissítve :
Oldal létrehozásának dátuma :

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.