8мес


Программирование
+1Index was outside the bounds of the array! Unity ошибка!
При программировании возникла эта ошибка
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Game : MonoBehaviour
{
[SerializeField] int Score;
public int[] CostInt;
private int ClickScore = 1;
public int[] CostBonus;
public GameObject ShopPan;
public GameObject BonusPan;
public Text[] CostText;
public Text ScoreText;
private void Start()
{
StartCoroutine(BonusShop());
}
public void OnClickButton()
{
Score += ClickScore;
}
private void Update()
{
ScoreText.text = Score + "$";
}
public void ShowAndHideShopPan()
{
ShopPan.SetActive(!ShopPan.activeSelf);
}
public void ShowAndHideBonusPan()
{
BonusPan.SetActive(!BonusPan.activeSelf);
}
public void OnClickBuyLevel()
{
if (Score >= CostInt[0])
{
Score -= CostInt[0];
CostInt[0] *= 2;
ClickScore *= 2;
CostText[0].text = CostInt[0] + "$";
}
}
public void OnClickBuyBonusShop()
{
if (Score >= CostInt[1])
{
Score -= CostInt[1];
CostInt[1] *= 2;
CostBonus[0] += 2;
CostText[1].text = CostInt[1] + "$";
}
}
IEnumerator BonusShop()
{
while (true)
{
Score += CostBonus[0];
yield return new WaitForSeconds(1);
}
}
}
Именно пишет: IndexOutOfRandeException: Index was outside the bounds of the array.
Game.OnClickBuyBonusShop () (at Assets/Scripts/Game.cs:54)
По дате
По рейтингу
Вам нужно правильно инициализировать массивы в инспекторе Unity или в коде:
12345678910
public class Game : MonoBehaviour
{
[SerializeField] int Score;
public int[] CostInt = new int[2]; // Минимум 2 элемента
private int ClickScore = 1;
public int[] CostBonus = new int[1]; // Минимум 1 элемент
// ... остальной код
}
Либо инициализировать их в методе Start():
1234567
private void Start()
{
CostInt = new int[2] { 10, 20 }; // Примерные значения
CostBonus = new int[1] { 0 };
StartCoroutine(BonusShop());
}
инициализация массивов с нужными значениями
Больше по теме