Creare un oggetto basato su un prefabbricato da uno script

Pagina aggiornata :
Data di creazione della pagina :

Ambiente di verifica

Finestre
  • Windows 11
Unity Editor
  • 2021.3.3f1
Pacchetto del sistema di input
  • 1.3.0

Prerequisiti per questo suggerimento

Le seguenti impostazioni sono state effettuate in anticipo come premessa per la descrizione di questo suggerimento.

Creare un oggetto basato su un prefabbricato in uno script

Nei suggerimenti precedenti, abbiamo posizionato gli oggetti dal Prefabbricato alla vista, ma in questo caso posizioniamo un numero predeterminato di oggetti e avviamo il gioco. Tuttavia, alcuni giochi potrebbero voler aggiungere oggetti dinamicamente mentre il gioco è in esecuzione. In tal caso, dovrai aggiungerlo dal prefabbricato nello script.

Creazione di esempi

Dopo aver distribuito il nuovo progetto, posizionare il pulsante. Proviamo a generare un oggetto dal prefabbricato ogni volta che facciamo clic sul pulsante.

Creare un prefabbricato. Questa è la stessa procedura dei suggerimenti precedenti.

Creare uno script per aggiungere l'oggetto al successivo clic sul pulsante. ButtonEvent Lasciare il nome come .

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 Definire il campo in modo da poter impostare in anticipo su quale prefabbricato generare in base a questo.

Instantiate È possibile passare un metodo per creare un GameObject nuovo oggetto basato su tale oggetto.

La posizione dell'oggetto creato diventa l'origine e, indipendentemente dal numero di oggetti creati, gli oggetti si sovrappongono ed è difficile da capire, quindi la posizione viene impostata in modo casuale dopo la creazione. Il valore di regolazione della posizione è appropriato perché è un campione.

Allegare lo script a EventSystem.

GameObject è impostato in modo da rilasciare il prefabbricato qui.

Quando si fa clic sul pulsante, viene OnClick chiamato il metodo.

Esecuzione di campioni

Una volta creato, esegui il gioco e fai clic sul pulsante. Ogni clic dovrebbe generare un oggetto.

Naturalmente, poiché viene generato in base al prefabbricato, se il valore del prefabbricato cambia, l'oggetto generato verrà generato in base a quel valore.