Crear un objecte basat en un Prefabricat a partir d'un script

Pàgina actualitzada :
Data de creació de la pàgina :

Entorn de verificació

Windows
  • Finestres 11
Editor d'unitat
  • 2021.3.3f1
Paquet del sistema d'entrada
  • 1.3.0

Requisits previs per a aquest consell

La configuració següent s'ha fet amb antelació com a premissa per a la descripció d'aquest consell.

Crear un objecte basat en un Prefabricat en un script

En els consells anteriors, col·loquem objectes des del Prefabricat a la vista, però en aquest cas, col·loquem un nombre predeterminat d'objectes i llancem el joc. No obstant això, és possible que alguns jocs vulguin afegir objectes dinàmicament mentre el joc s'està executant. En aquest cas, hauràs d'afegir-lo des del prefabricat en el guió.

Creació de mostres

Després de desplegar el nou projecte, col·loqueu el botó. Intentem generar un objecte a partir del prefabricat cada vegada que fem clic al botó.

Crea un prefabricat. Aquest és el mateix procediment que els consells anteriors.

Crea un script per afegir l'objecte la propera vegada que facis clic al botó. ButtonEvent Deixeu el nom com .

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 Definiu el camp de manera que pugueu definir en funció de quina prefabricació es generarà amb antelació.

Instantiate Podeu passar un mètode per crear un GameObject objecte nou basat en aquest objecte.

La posició de l'objecte creat es converteix en l'origen, i no importa quants objectes es creïn, els objectes se superposen i és difícil d'entendre, de manera que la posició s'estableix aleatòriament després de la creació. El valor d'ajust de posició és apropiat perquè és una mostra.

Adjunteu l'script a EventSystem.

GameObject està configurat així que deixeu caure el prefabricat aquí.

Quan es fa clic al botó, es OnClick crida al mètode.

Execució de mostres

Un cop creat, executeu el joc i feu clic al botó. Cada clic ha de generar un objecte.

Això sí, com que es genera a partir del prefabricat, si el valor del prefabricat canvia, l'objecte generat es generarà d'acord amb aquest valor.