Hallo,
der Titel ist vielleicht etwas ungünstig gewählt, aber ich wusste nicht, wie ich mein kleines (wahrscheinlich mathematisches) Problem sonst beschreiben sollte.
Ich programmiere ein Spiel mit verschiedenen Levels. Es gibt einen Screen, in welchem man aussuchen kann, welches Level man spielen möchte. Das sieht ungefähr so aus wie im Anhang.

Die Buttons werden mittels For-Schleife generiert. Mein Problem ist, dass ich nicht weiß, wie man nach 4 Buttons jeweils eine neue Zeile anfängt. Der Code für die Position der Buttons sieht derzeit so aus:
Das Fenster geht in der X-Achse von –400 bis +400, daher auch die „-350“. Der erste Button (für i = 0) hätte also die Position 150 * 0 - 350 = -350, also fast ganz links. Der 4. Button hätte die Position 150 * 3 – 350 = 100. Die Buttons gehen also wie im Anhang zu sehen von links nach rechts.
Ich möchte nun, dass ab dem 5. / 9. / usw. Button der X-Wert der Position jeweils wieder auf -350 rückt und der Y-Wert um, sagen wir 130 Einheiten, kleiner wird (die Buttons sind 100 * 100 Einheiten groß, und ein kleiner Y-Wert bedeutet weiter unten im Fenster). Sprich, dass die nächsten 4 Buttons in eine neue "Zeile" kommen.
Welche Möglichkeiten gibt es, sowas möglichst "dynamisch" zu programmieren? ("dynamisch", da wahrscheinlich noch mehr Levels und damit Buttons kommen werden und dann automatisch alle 4 Buttons eine neue Zeile begonnen werden soll)
Vielen Dank im Voraus für eure Hilfe und falls es Verständnisfragen gibt, fragt ruhig =)
der Titel ist vielleicht etwas ungünstig gewählt, aber ich wusste nicht, wie ich mein kleines (wahrscheinlich mathematisches) Problem sonst beschreiben sollte.
Ich programmiere ein Spiel mit verschiedenen Levels. Es gibt einen Screen, in welchem man aussuchen kann, welches Level man spielen möchte. Das sieht ungefähr so aus wie im Anhang.

Die Buttons werden mittels For-Schleife generiert. Mein Problem ist, dass ich nicht weiß, wie man nach 4 Buttons jeweils eine neue Zeile anfängt. Der Code für die Position der Buttons sieht derzeit so aus:
Java:
for(int i = 0; i < 12; i++) {
//Generieren der Buttons...
//Position der Buttons (x-Wert, y-Wert)
sLevelButton[i].setPosition(150 * i - 350, 80);
}
Das Fenster geht in der X-Achse von –400 bis +400, daher auch die „-350“. Der erste Button (für i = 0) hätte also die Position 150 * 0 - 350 = -350, also fast ganz links. Der 4. Button hätte die Position 150 * 3 – 350 = 100. Die Buttons gehen also wie im Anhang zu sehen von links nach rechts.
Ich möchte nun, dass ab dem 5. / 9. / usw. Button der X-Wert der Position jeweils wieder auf -350 rückt und der Y-Wert um, sagen wir 130 Einheiten, kleiner wird (die Buttons sind 100 * 100 Einheiten groß, und ein kleiner Y-Wert bedeutet weiter unten im Fenster). Sprich, dass die nächsten 4 Buttons in eine neue "Zeile" kommen.
Welche Möglichkeiten gibt es, sowas möglichst "dynamisch" zu programmieren? ("dynamisch", da wahrscheinlich noch mehr Levels und damit Buttons kommen werden und dann automatisch alle 4 Buttons eine neue Zeile begonnen werden soll)
Vielen Dank im Voraus für eure Hilfe und falls es Verständnisfragen gibt, fragt ruhig =)