у меня достаточно лёгий вопрос (наверное), как считать значения с списка при заданном значении? Например у меня есть список, очень большой и я хочу прочитать линию с номером некой переменной.
print(dots[i]);
Где dots - это список Где i там номер строки.
Юнити выдает не критическую ошибку:
ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
Из неё я понял что такой строки в списке нет, но я проверял с дебагом - значение было 64 и в списке оно было. Спасибо.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlanetTerrain : MonoBehaviour
{
public static int seed;
public static Color color;
public static bool deathGas = false;
public static float amplitude;
public static float freq;
public int dotcount = 0;
public List<Vector2> chunkdots;
public GameObject tile;
public int worldSize;
private void Awake()
{
seed = Random.Range(1, 10000);
amplitude = Random.Range(8, 100);
freq = Random.Range(83, 100);
Cursor.lockState = CursorLockMode.Locked;
}
private void Start()
{
SetPoints();
StartCoroutine(Generate());
}
void SetPoints()
{
for (int x = 0; x < worldSize; x++)
{
for (int z = 0; z < worldSize; z++)
{
dotcount++;
Debug.Log(dotcount);
chunkdots.Add(new Vector2(x * 16, z * 16));
}
}
}
IEnumerator Generate()
{
yield return new WaitForSeconds(0.1f);
for (int i = 0; i < dotcount; i++)
{
int ic = 0;
ic = dotcount;
Debug.Log("ic = " + ic);
Instantiate(tile, new Vector3(chunkdots[ic].x, 0, chunkdots[ic].y), Quaternion.identity);
}
}
}
Если у вас 64 элемента в списке, убедитесь, что вы не пытаетесь получить элемент с индексом 64. 64й элемент в списке будет иметь индекс 63, так как индексы начинаются с 0, а не с 1.
Вы во всём цикле присваиваете ic величину массива, тем самым получая Index was out of range
. последний индекс в массиве из 64 элементов это 63!
for (int i = 0; i < chunkdots.Count; i++) {
Debug.Log("i:"+i+" x:"+chunkdots[i].x+" y:"+chunkdots[i].y);
Instantiate(tile, new Vector3(chunkdots[i].x, 0, chunkdots[i].y), Quaternion.identity);
}
И считать объём списка отдельной переменной не нужно, у List есть свойство Count, как у обычного массива Lenght.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Пишу класс рациональных чиселПри неявном преобразовании возникает ошибка (StackOverflowException), причину которой понять не получается
Код вырван из контекста, но я думаю не имеет смысла копировать сюда всю программуЕсть код PHP, который обрабатывает данные, введенные в форму: