Создание\удаление объектов. Instantiate

157
14 марта 2019, 19:40

Всем привет. Пишу простую 2д игру на юнити. Суть в том, что шарик прыгает, а платформа под ним движется. Нужно в процессе игры генерировать новые платформы. Тут возникла проблемка с использованием метода Instantiate. Ссылки на префаб платформы хранятся в массиве platforms. Их я присвоил через редактор Unity. После удаления старого объекта вылезает исключение, но почему? Ссылка ведь на префаб, а не на конкретный объект на сцене.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Generate : MonoBehaviour {
    GameObject emptyObject;
    public GameObject[] platforms = new GameObject[3];
    void Start(){
        Data.pointOfGenerate.Set(9.1f, -4.5f, 0.0f);
        emptyObject = GameObject.Find("EmptyObject");
    }
    void OnTriggerExit2D(Collider2D checkObj)
    {
        if (checkObj.gameObject.tag == "Platform")
        {
            GenerateNewPlatform();
        }
    }
    void GenerateNewPlatform() {
        Data.nextPlatform = platforms[Random.Range(0,3)];
        Instantiate(Data.nextPlatform, Data.pointOfGenerate, Quaternion.identity);
    }
}

Ошибка

Answer 1

Проблема решена. В редакторе Unity я прикрепил к скрипту Generate объект со сцены, думая что это префаб (у них были одинаковые имена). Поэтому при удалении платформы со сцены функция Instantiate ссылалась на несуществующий объект.

READ ALSO
С# TabControl получить кнопку из заголовка

С# TabControl получить кнопку из заголовка

Интересует, есть ли возможность получить доступ к кнопке, которая отвечает за конкретную вкладку в компоненте TabControl:

151
C# Entity Framework many-to-many relations

C# Entity Framework many-to-many relations

У меня есть класс Student, который содержит информацию о студентах, а так же клас Group, который содержит описания факультетаОдин студент может...

165
Как сгенерировать Biginteger заданного размера?

Как сгенерировать Biginteger заданного размера?

Как можно сгенерировать число Biginteger заданного размера?

157