У меня есть несколько префабов, хранящихся в массиве, и создаю их по одному, нажимая кнопку.Объект появляется, но всегда неактивен.
Я часами искал ответ и много раз пытался, но проблема осталась прежней.Я надеюсь, что это нормально, хотя есть несколько похожих вопросов, но ни один из ответов не решает мою проблему.Как я уже описывал, я хочу создать экземпляр GameObject из массива за нажатие кнопки, и объект действительно появляется, но когда я пытаюсь запустить для него сопрограмму (если это полезно, это IEnumerator, который должен позволить объекту исчезнуть с помощьюобрабатывая его цвета альфа-канала), я всегда получаю ошибку, которая говорит, что GameObject неактивен.Я не могу установить его активным, написав myPrefab.gameObject.SetActive (true), и я попытался вызвать его в нескольких местах в моем коде.Он всегда остается неактивным.Кто-нибудь знает, в чем может быть проблема?
public class Class1 : MonoBehaviour
{
[SerializeField]
private MyClass[] myPrefabs;
private MyClass myCurrentPrefab;
private int myIndex;
public void ButtonEffect()
{
InstantiatePrefab();
myCurrentPrefab.OnButtonEffect();
}
private void InstantiatePrefab()
{
myIndex = Random.Range(0, myPrefabs.Length);
myCurrentPrefab = myPrefabs[myIndex];
Instantiate(myCurrentPrefab);
}
}
public class MyClass : MonoBehaviour
{
private SpriteRenderer mySprite;
private void Start()
{
mySprite = GetComponent<SpriteRenderer>();
}
private void Awake()
{
this.gameObject.SetActive(true)
}
private void OnButtonEffect()
{
StartCoroutine(FadeOut(mySprite, 3));
}
public IEnumerator FadeOut(SpriteRenderer spriteToFade, float duration)
{
//DoFadeOutStuff
}
}
Здесь я попытался установить активный объект в функции Awake своего собственного кода, но я также попробовал это в обеих функциях Class1и его функция запуска.Я также попытался обработать это для всего массива в цикле foreach.Всегда один и тот же результат.Все, что я хочу сделать, это установить его активным, сейчас мне даже не важно, правильно ли работает мой гаситель.Сначала я подумал, что это потому, что мой экземпляр объекта является клоном, но я ничего не могу найти в нем, поэтому, даже если решение довольно очевидно, пожалуйста, помогите!