Jump to content
Unity Insider Forum

Datenbankkommunikation


peachplayer

Recommended Posts

Hallo Leute

Habs endlich hingekriegt mit der PHP-Abfrage. Jetzt gibt es aber noch ein Problem mit der Implementierung in Unity:

// Daten-Objekte füllen 
void FillHighscore(string[] input)
    {
        highscore.Clear();
        int length = input.Length;
        for (int i = 0; i < length; i+=2)

        {
            Score score = new Score();
            score.email = input[i];
            score.PlayerName = input[i+1];
            score.Points = input[i+2];
            highscore.Add(score);
        }
    }

Weshalb funktioniert obiger Code wohl nicht? D.h. es gibt eine Fehlermeldung Bei der Zeile "score.PlayerName = input[i+1];"  (Array-Index out of Range). Kann mir jemand helfen?

Habe den Quellcode von einem Lehrbuch kopiert.

Gruss

Peachplayer

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn du 2 Gruppen von 3 Elementen in dem Array hast, dann hat das Array einen index range von 0 - 5
Bei ersten Durchlauf wird Index 0, 1 und 2 als Daten für den Score verwendet. dann nach wird i  auf 2 gesetzt. 2 ist kleiner als die Länge des arrays, also nächster Durchlauf:
Bei zweitem Durchlauf wird Index 2, 3 und 4 als Daten für den Score verwendet. dann nach wird i  auf 4 gesetzt. 4 ist kleiner als die Länge des arrays, also nächster Durchlauf:
Bei dritten Durchlauf wird Index 4, 5 und 6 als Daten für den Score verwendet. 6 ist aber außerhalb des ranges des arrays und du bekommst einen Fehler. 

Versuch mal:

// Daten-Objekte füllen 
void FillHighscore(string[] input)
{
        highscore.Clear();
        int length = input.Length;
        for (int i = 0; i < length; i+=3)

        {
            Score score = new Score();
            score.email = input[i];
            score.PlayerName = input[i+1];
            score.Points = input[i+2];
            highscore.Add(score);
        }
}

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...