Eine Liste erstellen *eine etwas andere*

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Eine Liste erstellen *eine etwas andere*

    Hallo,

    ich hab nicht wirklich das richtige in der SuFu gefunden, also poste ich mal hier.. Also ich will eine Art Liste erstellen. In diese Liste kann man dann per Add-Button verschiedene Dateinamen und Pfade hochladen, sodass sie untereinander aufeglistet sind mit ihren richtigen Dateipfaden.. Man sollte dann auch zwei Pfeil (nach oben und nach unten) haben, wodurch man die einzelnen Dateienamen mit ihren Pfaden nach oben oder nach unten verschieben kann. Schließlich sollte auch ein Entfernen-Button dabei sein.

    So, klingt jetz wie eine Aufforderung ^^ Doch leider hab ich nach zahlreichen Versuchen keine Lösung gefunden und bitte nun um Hilfe!
  • Ein perfektes, schon im GM integriertes, Beispiel für Arrays sind die Alarm-Clocks. Ein Array ist, grob zusammengefasst, eine indizierte Variable, in der du mehrere Werte gleichzeitig verstauen kannst. So kann z.B. foo[0] gleich 1 sein, während foo[1] gleich 13,37 ist.
    Am Beispiel einer Werteliste kann man sich auch gut verdeutlichen, wozu die Dinger gut sind. foo[0] ist die erste Position in der Liste, foo[1] die zweite, foo[2] die dritte etc.
    Den Rest kannst du dir wohl selbst erschließen. ;)
  • Ein Array ist quasi eine Liste.
    Eine Liste besteht aus mehreren Elementen(Werten).
    Diese Elemente kannst du ansprechen, in dem du auf die Position in der Liste verweist:
    1. 6
    2. 17
    3. 456
    4. 1.5
    5. 45

    Liste[3] = 5

    1. 6
    2. 17
    3. 5
    4. 1.5
    5. 45

    Allerdings musst du beachten, dass bei Listen im Gamemaker und bei anderen Programmiersprachen Listen nicht bei Position(Index) 1 anfangen, sondern bei 0.
    Im obrigen Beispiel müsstest du also Liste[2]=5 schreiben, um das dritte Element in der Liste zu verändern:
    0: 6, 1: 17, 2: 5 ...

    Arrays erstellst du einfach, in dem du Elemente zuweist, eine gute Methode zur erstellung könnte sein:

    GML-Quellcode

    1. for (i = 0; i< 15; i+=1) mein_array[i] = 0;//Erstellt ein Array mit 15 Elementen.


    Dann gibts aber auch noch Listen, die schneller sind und mit denen du mehr Funktionen zu Verfügung hast:

    GML-Quellcode

    1. meine_liste = ds_list_create();
    2. ds_list_add(meine_liste, 34);// Fügt Element mit Wert 34 zu Liste hinzu
    3. ... //Weitere Funktionen befinden sich in der Hilfe
    "das war meine letzte flamewar PM an dich ."
  • Ist schon ok, leute. Ich hatte schon sowas ähnliches bei CSS gelernt, eben als ich meine seite gemacht hab ^^
    Ich wusste bloß nicht, wie diese dinger heissen und so.. und das es sie auch bei GM gibt :D

    So weit, so gut, es klaptt alles, danke an alle.
    (wird 'so weit so gut' zusammengeschrieben oder wie xD)
  • Um Irrenhaus3s Post zu ergänzen: Du kannst ebenso Variablen in den Eckigen klammern unterbringen, Beispiele:

    GML-Quellcode

    1. // Ganz einfach:
    2. foo[0] = "hallo welt";
    3. a = 0;
    4. show_message(foo[a]);
    5. // Komplexer mit for:
    6. for (a = 0; a < 10; a += 1) {
    7. foo[a] = a;
    8. }
    Wenn du das zweite Beispiel nicht verstehen solltest, das ist das selbe wie:

    GML-Quellcode

    1. a = 0; // Initialisierung der for-Schleife
    2. while (a < 10) // Prüfen ob die Schleife noch weiterlaufen soll.
    3. // Solange a kleiner als 10 ist, wiederhole den folgenden Block:
    4. {
    5. foo[a] = a;
    6. a += 1; // Ende eines Durchgangs, erhöhe a um 1.
    7. }
    (Der Code setzt foo[0] auf 0, foo[1] auf 1 und so weiter.)

    ... sehe gerade es ist mir jemand zuvor gekommen. Das hält mich aber nicht davon ab, den Post abzuschicken :P

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von copyboy ()