Ich arbeite an einer Brute-Force-Problemumgehung für einen Fehler in meinem Programm, weil es keine Möglichkeit gibt, die im Editor zugewiesenen Werte zu aktualisieren. Wie auch immer, ich versuche Bilder (Sprites) in ein Array zu laden, das ein anderes Skript verwenden kann. Es scheint jedoch nicht zu funktionieren und ich bin mir nicht sicher warum. Ich habe so etwas noch nie gemacht, also habe ich wahrscheinlich einen Fehler gemacht. Der Fehler besagt, dass pics1 [i] außerhalb des zulässigen Bereichs liegt. Hier ist mein Code unten:Leeres Array in Unity?
using UnityEngine;
using System.Collections;
public class Imageblock : MonoBehaviour {
public Sprite[] pics1;
public static Sprite[,] allPics;
// Use this for initialization
void Start() {
pics1 = Resources.LoadAll<Sprite> ("Dock Pics");
allPics = new Sprite[100,100];
for (int i = 0; pics1 [i] != null; i++) {
allPics [1,i] = pics1 [i];
}
}
}
Was ist das Problem mit "Aktualisieren von Werten im Inspektor"? Öffentliche Felder werden serialisiert und daher vom Inspector initialisiert und auch vom Inspektor überschrieben, wenn Sie sie von dort aus ändern, aber es ist trotzdem möglich, sie während der Laufzeit vom Code zu überschreiben. – Xarbrough
Ich habe mehrere Instanzen des gleichen Codes, also brauche ich es, um Daten aus dem Inspektor in den Code zu ziehen, nicht bei der Initialisierung. – MechaScoots