Створення об'єкта на основі збірного матеріалу зі сценарію
Середовище перевірки
- Вікна
-
- вікна 11
- Редактор єдності
-
- 2021.3.3f1
- Пакет системи введення
-
- 1.3.0
Передумови для цієї поради
Наступні настройки були зроблені заздалегідь як передумова для опису цієї поради.
Створення об'єкта на основі збірного матеріалу в сценарії
У попередніх Підказках ми розмістили об'єкти від 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
метод.
зразок виконання
Після створення запустіть гру та натисніть кнопку. Кожне клацання має генерувати об'єкт.
Звичайно, оскільки він генерується на основі префабу, якщо значення збірки змінюється, генерований об'єкт буде генеруватися відповідно до цього значення.