Създаване на обект, базиран на Prefab от скрипт

Страницата се актуализира :
Дата на създаване на страница :

Среда за проверка

Уиндоус
  • Прозорци 11
Редактор на единство
  • 2021.3.3f1
Пакет на входната система
  • 1.3.0

Предпоставки за този съвет

Следните настройки са направени предварително като предпоставка за описанието на този съвет.

Създаване на обект, базиран на Prefab в скрипт

В предишните съвети поставихме обекти от Prefab към изгледа, но в този случай поставяме предварително определен брой обекти и стартираме играта. Някои игри обаче може да искат да добавят обекти динамично, докато играта се изпълнява. В този случай ще трябва да го добавите от сглобяемия в скрипта.

Създаване на образец

След като разположите новия проект, поставете бутона. Нека се опитаме да генерираме обект от сглобяемите всеки път, когато кликнем върху бутона.

Създаване на сглобяеми. Това е същата процедура като предишните съвети.

Създайте скрипт, за да добавите обекта следващия път, когато щракнете върху бутона. ButtonEvent Оставете името като .

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 Определете полето, така че да можете предварително да зададете на кой сглобяем материал да се генерира.

Instantiate Можете да подадете метод за създаване на нов обект, GameObject базиран на този обект.

Позицията на създадения обект става произход и без значение колко обекта са създадени, обектите се припокриват и е трудно да се разбере, така че позицията се задава произволно след създаването. Стойността за регулиране на позицията е подходяща, защото е образец.

Прикачете скрипта към EventSystem.

GameObject е настроен така капка сглобяеми тук.

Когато се натисне бутонът, се извиква методът OnClick .

Примерно изпълнение

Веднъж създаден, стартирайте играта и кликнете върху бутона. Всяко кликване трябва да генерира обект.

Разбира се, тъй като се генерира въз основа на сглобяемите материали, ако стойността на сглобяемите се промени, генерираният обект ще бъде генериран според тази стойност.