#c# #unity3d #object
#c# #unity3d #объект
Вопрос:
я создаю игру unity2d, и мне нужен пул объектов для создания основы. однако в этой версии вместо создания базовых спрайтов по отдельности мне нужно сгенерировать их группу в определенном макете. Пул, который у меня есть, генерирует их только по отдельности
using JetBrains.Annotations;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ObjectPooler : MonoBehaviour
{
public GameObject pooledObject;
public int pooledamnt;
List<GameObject> pooledObjects;
// Start is called before the first frame update
void Start()
{
pooledObjects = new List<GameObject>();
for (int i = 0; i < pooledamnt; i )
{
GameObject obj = (GameObject)Instantiate(pooledObject);
obj.SetActive(false);
pooledObjects.Add(obj);
}
}
public GameObject GetPooledObject()
{
for (int i = 0; i < pooledObjects.Count; i )
{
if (pooledObjects[i].activeInHierarchy)
{
return pooledObjects[i];
}
}
GameObject obj = (GameObject)Instantiate(pooledObject);
obj.SetActive(false);
pooledObjects.Add(obj);
return obj;
}
// Update is called once per frame
void Update()
{
}
}
вся помощь приветствуется.
Ответ №1:
В Unity для каждого макета, который вы хотите, вы можете создавать префабы со своими объектами вручную. Создайте пустой объект и сделайте из него дочерние объекты ground objects. Затем назначьте их
Нравится:
public List<GameObject> pooledObjects;