@Kim_Vik

Как исправить ошибку при создании меню уровней?

Помогите пожалуйста. Хочу сделать меню уровней чтобы сначала был открыт только первый уровень, а после его прохождения открывался второй, а после прохождения второго уровня открывался третий уровень ну и так далее. Я написал скрипт для этих уровней. И как только я запускаю игру вылетает ошибка:
IndexOutOfRangeException: Index was outside the bounds of the array.
LevelManager.Start () (at Assets/Scripts/LevelManager.cs:23)

А вот сам скрипт:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class LevelManager : MonoBehaviour
{
int LvlUnLock;
public Button[] buttons;

void Start()
{
LvlUnLock = PlayerPrefs.GetInt("Lvl", 1);

for (int i = 0; i < buttons.Length; i++)
{
buttons[i].interactable = false;
}

for (int i = 0; i < LvlUnLock; i++)
{
buttons[i].interactable = true;Ошибка указывает на эту строчку
}
}
public void loadLevel(int levelIndex)
{
SceneManager.LoadScene(levelIndex);
}

Как убрать эту проблему чтобы всё работало?
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 1
timofeygusevopal
@timofeygusevopal
asp.net core developer
У тебя LvlUnLock по количеству элементов не равен количеству кнопок buttons(их меньше).И он пытается обратится к не существующему элементу массива кнопок-buttons и ты получаешь это исключение... проверьте правильность написания вашей логики...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы