Всем привет. Пишу простую 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);
}
}
Ошибка
Проблема решена. В редакторе Unity я прикрепил к скрипту Generate объект со сцены, думая что это префаб (у них были одинаковые имена). Поэтому при удалении платформы со сцены функция Instantiate ссылалась на несуществующий объект.
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Интересует, есть ли возможность получить доступ к кнопке, которая отвечает за конкретную вкладку в компоненте TabControl:
У меня есть класс Student, который содержит информацию о студентах, а так же клас Group, который содержит описания факультетаОдин студент может...
Как можно сгенерировать число Biginteger заданного размера?