Bir komut dosyasından Prefabrik'i temel alan bir nesne oluşturma

Sayfa güncel :
Sayfa oluşturma tarihi :

Doğrulama ortamı

Windows
  • Pencereler 11
Birlik Editörü
  • 2021.3.3f1
Giriş Sistemi Paketi
  • 1.3.0

Bu ipucu için önkoşullar

Aşağıdaki ayarlar, bu ipucunun açıklaması için bir öncül olarak önceden yapılmıştır.

Komut dosyasında Prefabrik'i temel alan bir nesne oluşturma

Önceki İpuçlarında , Prefabrik'ten görünüme nesneler yerleştirdik, ancak bu durumda, önceden belirlenmiş sayıda nesne yerleştirip oyunu başlatıyoruz. Ancak, bazı oyunlar oyun çalışırken nesneleri dinamik olarak eklemek isteyebilir. Bu durumda, komut dosyasındaki prefabrikten eklemeniz gerekecektir.

Örnek oluşturma

Yeni projeyi dağıttıktan sonra düğmeyi yerleştirin. Düğmeye her tıkladığımızda prefabrikten bir nesne oluşturmaya çalışalım.

Bir prefabrik oluşturun. Bu, önceki ipuçlarıyla aynı prosedürdür.

Düğmeyi bir sonraki tıklatışınızda nesneyi eklemek için bir komut dosyası oluşturun. ButtonEvent Adı olarak bırakın.

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 Alanı tanımlayın, böylece hangi prefabriklerin oluşturulacağını önceden ayarlayabilirsiniz.

Instantiate Bir yöntemi, o nesneyi temel alan yeni bir GameObject nesne oluşturmak için geçirebilirsiniz.

Oluşturulan nesnenin konumu orijin haline gelir ve ne kadar nesne yaratılırsa yaratılsın, nesneler üst üste biner ve anlaşılması zordur, bu nedenle konum oluşturulduktan sonra rastgele ayarlanır. Konum ayarlama değeri bir numune olduğu için uygundur.

Komut dosyasını EventSystem'e ekleyin.

GameObject ayarlanmıştır, bu yüzden prefabrik buraya bırakın.

Düğme tıklatıldığında, yöntem çağrılır OnClick .

Örnek Yürütme

Oluşturulduktan sonra oyunu çalıştırın ve düğmeye tıklayın. Her tıklama bir nesne oluşturmalıdır.

Tabii ki, prefabrik temel alınarak oluşturulduğundan, prefabrik değeri değişirse, oluşturulan nesne bu değere göre üretilecektir.