Objektin luominen komentosarjan esielementin perusteella

Sivu päivitetty :
Sivun luontipäivämäärä :

Varmennusympäristö

Windows
  • Windows 11
Unity-editori
  • 2021.3.3F1
Syöttöjärjestelmän paketti
  • 1.3.0

Tämän vinkin edellytykset

Seuraavat asetukset on tehty etukäteen tämän vinkin kuvauksen lähtökohtana.

Objektin luominen komentosarjan esielementin perusteella

Edellisissä vinkeissä sijoitimme esineitä Prefabista näkymään, mutta tässä tapauksessa asetamme ennalta määrätyn määrän esineitä ja käynnistämme pelin. Jotkin pelit saattavat kuitenkin haluta lisätä objekteja dynaamisesti pelin ollessa käynnissä. Siinä tapauksessa sinun on lisättävä se komentosarjan esivalmistetusta.

Näytteen luominen

Kun olet ottanut uuden projektin käyttöön, aseta painike. Yritetään luoda objekti esivalmistetusta joka kerta, kun napsautamme painiketta.

Luo elementti. Tämä on sama menettely kuin edelliset vinkit.

Luo komentosarja objektin lisäämistä varten, kun seuraavan kerran napsautat painiketta. ButtonEvent Jätä nimeksi .

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 Määritä kenttä niin, että voit määrittää etukäteen, minkä esivalmistetun perusteella luodaan.

Instantiate Voit välittää menetelmän, jolla luodaan uusi objekti kyseisen objektin GameObject perusteella.

Luodun objektin sijainnista tulee alkuperä, ja riippumatta siitä, kuinka monta objektia luodaan, objektit ovat päällekkäisiä ja sitä on vaikea ymmärtää, joten sijainti asetetaan satunnaisesti luomisen jälkeen. Asennon säätöarvo on sopiva, koska se on näyte.

Liitä komentosarja EventSystemiin.

GameObject on asetettu, joten pudota elementti tähän.

Kun painiketta napsautetaan, menetelmää OnClick kutsutaan.

Näytteen suorittaminen

Kun olet luonut, suorita peli ja napsauta painiketta. Jokaisen napsautuksen pitäisi luoda objekti.

Tietenkin, koska se luodaan esivalmistetun perusteella, jos esivalmistetun arvo muuttuu, luotu objekti luodaan tämän arvon mukaan.