у вас много ошибок в вашем коде
Первая: Разве вы не должны писать
`for (int i = 0; i < instantiatedObjects.Length - 1; i++)`
вместо записи
for (int i = 0; i < instantiatedObjects.Length; i++)
без -1
Длина Beacuse начинает отсчитываться от 1, поэтому, если у вас есть пять элементов в массиве, он вернет 5, и цикл будет выполнен 5 раз, поэтому, если вы хотите добавить -1
, вы должны набрать
for (int i = 0; i <= instantiatedObjects.Length - 1; i++)
со знаком равенства или меньше (<=) </p>
Второй: , который не следует вводить While j > 0
Поскольку он считается бесконечным циклом J = 0 +1, поэтому j> 0 будет выполнять весь код внутри цикла while, проверяет, будет ли j все еще больше нуля или нет, затем снова и снова делает весь код, поэтому пример замерзания единицы для бесконечного цикла:
int x = 0;
while(1 > 0)
{
x++;
}
это никогда не идет из этих двух скобок, потому что это пример бесконечного цикла для конечного цикла:
int x = 0;
while(x < 10)
{
x++
}
это конечный цикл, потому что после 11 циклов x будет равен 11, а 11 больше 10так что идет к остальной части кода в вашем скрипте
третий Вы должны набрать StartCoroutine(Example());
в начале своей функции.
четвертый - вместо этого вы должны вызывать функцию внутри fixedUpdate
из Update
Поскольку внутри него вызывается сопрограмма, и всегда лучше использовать start()
для сортировки только одного. Если вы использовали fixedupdte
, он будет сортировать его один раз, затем будет проверять его снова и снова без конца