Créer un objet basé sur un préfabriqué à partir d’un script

Page mise à jour :
Date de création de la page :

Environnement de vérification

Windows
  • Fenêtres 11
Éditeur Unity
  • 2021.3.3f1
Package système d’entrée
  • 1.3.0

Conditions préalables à cette astuce

Les paramètres suivants ont été définis à l’avance comme prémisse pour la description de cette astuce.

Créer un objet basé sur un préfabriqué dans un script

Dans les conseils précédents, nous avons placé des objets du préfabriqué dans la vue, mais dans ce cas, nous plaçons un nombre prédéterminé d’objets et lançons le jeu. Cependant, certains jeux peuvent souhaiter ajouter des objets dynamiquement pendant l’exécution du jeu. Dans ce cas, vous devrez l’ajouter à partir du préfabriqué dans le script.

Création d’exemples

Après avoir déployé le nouveau projet, placez le bouton. Essayons de générer un objet à partir du préfabriqué chaque fois que nous cliquons sur le bouton.

Créez un préfabriqué. Il s’agit de la même procédure que les conseils précédents.

Créez un script pour ajouter l’objet la prochaine fois que vous cliquez sur le bouton. ButtonEvent Conservez le nom .

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 Définissez le champ afin de pouvoir définir à l’avance le préfabriqué sur lequel générer la base.

Instantiate Vous pouvez passer une méthode pour créer un GameObject nouvel objet basé sur cet objet.

La position de l’objet créé devient l’origine, et peu importe le nombre d’objets créés, les objets se chevauchent et il est difficile à comprendre, de sorte que la position est définie aléatoirement après la création. La valeur d’ajustement de position est appropriée car il s’agit d’un échantillon.

Attachez le script à EventSystem.

GameObject est réglé alors déposez le préfabriqué ici.

Lorsque vous cliquez sur le bouton, la méthode est OnClick appelée.

Exemple d’exécution

Une fois créé, lancez le jeu et cliquez sur le bouton. Chaque clic doit générer un objet.

Bien sûr, puisqu’il est généré sur la base du préfabriqué, si la valeur du préfabriqué change, l’objet généré sera généré en fonction de cette valeur.