Проблема с индексами элементов массива

195
23 декабря 2021, 16:10

Почему у меня высвечивается ошибка с индексом: Array index is out of range.

 public  int numb;
  private void FixedUpdate()
  {
    Text.text = score + "";       
    if(dela_buy[numb] < score)
    {
     dela_emblem[numb].GetComponent<Image>().color = new Сolor(255,100,100,100);//только на этой строчке высвечивается ошибка
     dela_emblem[numb].GetComponent<Button>().enabled = true;//если убираю предыдущую строчку,то только на этой.
    }
  }
Answer 1

Вам ваш компилятор говорит что ваш индекс находиться в не границ массива.

пробуйте поставить <=

либо посчитайте точное число элементов и отнимите 1. больше вариантов никаких я тут не вижу

Answer 2

Я так понал вы хотите делать магазин где кнопка меняет цвет когда денег достаточно чтобы купить вещь. Меняйте ваш скрипт на это.

//создаём новый тип для кнопки
private struct shopButton
{
    public int price;
    public Button button;
    public Text text;
}
//создаём массив из этих кнопок
public shopButton[] buttonsArray;
//теперь пишем функцию которая каждый раз будет проверять доступно ли нам покупка
private void Refresh()
{
    //проверяем для каждой кнопки в массиве
    for(shopButton currentButton in buttonsArray)
    {
        if(currentButton.price <= score)
        {
            currentButton.GetComponent<Image>().color = new Сolor(255,100,100,100);
            currentButton.interactible = true;
        }
        else
        {
            currentButton.GetComponent<Image>().color = Color.Grey;
            currentButton.interactible = false;
        }
    }
}

Как то вот так. Если что то не понятно, обращайтесь.

READ ALSO
Десериализация в dynamic .net core 3.0

Десериализация в dynamic .net core 3.0

Есть необходимость получить объект типа dynamic из Json наNET Core 3

148
ObservableCoolection RemoveAt

ObservableCoolection RemoveAt

Проблема в том что DataGrid после удаления из коллекции (ObservableCollection) какого то слова, в DataGrid коллекция остается не измененнымРаботает в другом...

99
Непонятная ошибка выдаваемая phpstan-ом

Непонятная ошибка выдаваемая phpstan-ом

Решил я подключить к своему проекту на PHP 74 phpstan

128
Вопрос по поведению current() в PHP

Вопрос по поведению current() в PHP

Имеем простой код:

181