Я создаю игру, в которой есть 7 префабов GameObject, каждый из которых создает экземпляр на уровне, сейчас я создаю основной скрипт, который будет создавать экземпляры каждого префаба GameObject, теперь то, что я хочу сделать, это создать каждый 80f " секунд ", чтобы создать новый префаб GameObject, и уничтожить последний, например, через 0f секунд с момента запуска уровня, создать экземпляр (случайный) GameObject Prefab, и за 80f секунд уничтожить тот, который я создал за 0f секунд, и создать новый экземпляр , и так далее.
Это сценарий, который у меня есть прямо сейчас, он не работает, он создает экземпляр нового игрового объекта, но не уничтожает последний созданный мной. Я надеюсь, что вы можете помочь мне / подскажите, как решить эту проблему. ПРИМЕЧАНИЕ Я пробовал использовать Stack, но когда я уничтожаю Prefab из стека, он уничтожает сам сборный файл, и его невозможно восстановить. мой сценарий:
TimeSinceLevelStarted = Time.timeSinceLevelLoad;
if (Mathf.Clamp(TimeSinceLevelStarted - TimeToLoadNext, -2f, 2f) == TimeSinceLevelStarted - TimeToLoadNext
&& LoadedFirstLevel == false)
{
GameObject go = LevelsPrefabs[Random.Range(0, LevelsPrefabs.Length)];
FirstLevel(go);
LoadedFirstLevel = false;
Debug.Log("Instantiated Prefab2");
}
}
private void FirstLevel(GameObject go)
{
if (LoadedFirstLevel == false)
{
Instantiate(go, new Vector3(0, 0, 0), Quaternion.identity);
goStack.Push(go);
Debug.Log("Instantiated Prefab1");
TimeToLoadNext += 50f;
LoadedFirstLevel = false;
if (TimeToLoadNext >= 30f) {
Destroy(go);
}
}
}
Destroy
имеет перегрузку с задержкой в несколько секунд, напримерDestroy(obj, 80.0f);
- person derHugo   schedule 29.10.2018