Crear un objeto basado en un Prefab a partir de un script
Entorno de verificación
- Windows
-
- Ventanas 11
- Unity Editor
-
- 2021.3.3F1
- Paquete del sistema de entrada
-
- 1.3.0
Requisitos previos para esta sugerencia
Los siguientes ajustes se han realizado de antemano como premisa para la descripción de este consejo.
Crear un objeto basado en un Prefab en un script
En los Consejos anteriores, colocamos objetos del Prefab a la vista, pero en este caso, colocamos un número predeterminado de objetos y lanzamos el juego. Sin embargo, es posible que algunos juegos quieran agregar objetos dinámicamente mientras se ejecuta el juego. En ese caso, tendrás que agregarlo desde el prefab en el script.
Creación de muestras
Después de implementar el nuevo proyecto, coloque el botón. Intentemos generar un objeto a partir del prefab cada vez que hagamos clic en el botón.
Crear un prefabricado. Este es el mismo procedimiento que los consejos anteriores.
Cree un script para agregar el objeto la próxima vez que haga clic en el botón. ButtonEvent
Deje el nombre como .
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
Defina el campo para que pueda establecer qué prefab se generará de antemano.
Instantiate
Puede pasar un método para crear un GameObject
nuevo objeto basado en ese objeto.
La posición del objeto creado se convierte en el origen, y no importa cuántos objetos se creen, los objetos se superponen y es difícil de entender, por lo que la posición se establece aleatoriamente después de la creación. El valor de ajuste de posición es apropiado porque es una muestra.
Adjunte el script a EventSystem.
GameObject
está configurado, así que suelte el prefabricado aquí.
Cuando se hace clic en el botón, se OnClick
llama al método.
Ejecución de ejemplo
Una vez creado, ejecuta el juego y haz clic en el botón. Cada clic debe generar un objeto.
Por supuesto, dado que se genera en base al prefab, si el valor del prefab cambia, el objeto generado se generará de acuerdo con ese valor.