Vytvorenie objektu na základe paneláka zo skriptu

Stránka aktualizovaná :
Dátum vytvorenia strany :

Prostredie overovania

Windows
  • Windows 11
Editor jednoty
  • 2021.3.3f1
Vstupný systémový balík
  • 1.3.0

Predpoklady pre tento tip

Nasledujúce nastavenia boli vykonané vopred ako predpoklad pre popis tohto tipu.

Vytvorenie objektu na základe paneláka v skripte

V predchádzajúcich tipoch sme umiestnili objekty z paneláka na výhľad, ale v tomto prípade umiestnime vopred určený počet objektov a spustíme hru. Niektoré hry však môžu chcieť počas hry pridávať objekty dynamicky. V takom prípade ho budete musieť pridať z paneláka v skripte.

Vytvorenie ukážky

Po nasadení nového projektu umiestnite tlačidlo. Pokúsme sa vygenerovať objekt z paneláka zakaždým, keď klikneme na tlačidlo.

Vytvorte panelák. Toto je rovnaký postup ako predchádzajúce tipy.

Vytvorte skript na pridanie objektu pri ďalšom kliknutí na tlačidlo. ButtonEvent Názov ponechajte ako .

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 Definujte pole tak, aby ste mohli vopred nastaviť, ktorý panelák sa má vygenerovať.

Instantiate Môžete odovzdať metódu na vytvorenie nového objektu na základe tohto objektu GameObject .

Poloha vytvoreného objektu sa stáva pôvodom a bez ohľadu na to, koľko objektov je vytvorených, objekty sa prekrývajú a je ťažké ju pochopiť, takže pozícia sa po vytvorení nastaví náhodne. Hodnota nastavenia polohy je vhodná, pretože ide o vzorku.

Pripojte skript k EventSystem.

GameObject je nastavený, takže tu vyhoďte panelák.

Po kliknutí na tlačidlo sa metóda OnClick vyvolá.

Vykonanie vzorky

Po vytvorení spustite hru a kliknite na tlačidlo. Každé kliknutie by malo vygenerovať objekt.

Samozrejme, keďže sa generuje na základe paneláka, ak sa zmení hodnota prefabrikátu, vygenerovaný objekt sa vygeneruje podľa tejto hodnoty.