Създаване на обект, базиран на 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
.
Примерно изпълнение
Веднъж създаден, стартирайте играта и кликнете върху бутона. Всяко кликване трябва да генерира обект.
Разбира се, тъй като се генерира въз основа на сглобяемите материали, ако стойността на сглобяемите се промени, генерираният обект ще бъде генериран според тази стойност.