2 dimensionales Array speichern?

  • GM 8

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

  • andre111 schrieb:


    (die Größe ist nicht bekannt)

    Das Problem hierbei ist, dass der Game Maker automatisch Speicher für die Arrays reserviert ( Du kannst die Größe also nicht festlegen oder ändern ).

    Du könntest das dann z.B. mit 2 Scripts lösen ( damit du immer die Größe weißt :(
    Zum zuweisen:

    GML-Quellcode

    1. // array_set( x, y, value );
    2. if( !variable_global_exists("arr_max_index0") ){ global.arr_max_index0 = argument0 }; // Wenn die Variable nicht existiert, wird sie auf x gesetzt ( [b]Alle[/b] Werte darunter müssen aber gesetzt sein, sonst kommt es zu Fehlern! )
    3. else if( global.arr_max_index0 < argument0 ){ global.arr_max_index0 = argument0 }; // Falls die Variable existiert und x > der Variable ist, dann wird sie auf x gesetzt
    4. if( !variable_global_exists("arr_max_index1") ){ global.arr_max_index1 = argument1 }; // Dasselbe mit y
    5. else if( global.arr_max_index1 < argument1 ){ global.arr_max_index1 = argument1 };
    6. arr[argument0, argument1] = argument2;

    Zum prüfen:

    GML-Quellcode

    1. // array_exists( x, y )
    2. if( variable_global_exists("arr_max_index0") && variable_global_exists("arr_max_index1") ){ // Falls die Zählervariablen bereits existiert ...
    3. if( global.arr_max_index0 >= argument0 && global.arr_max_index1 <= argument1 ){ // ... und größer oder gleich x bzw. y sind, ...
    4. return 1; // Dann wird true zurückgegeben
    5. }
    6. else{
    7. return 0; // Ansonsten false
    8. }
    9. }
    10. else{
    11. return 0; // Existiert die Variable nicht, wurde dem Array möglicherweise noch nichts zugewiesen
    12. }
    Alles anzeigen


    Zum speichern könntest du dann eine For Schleife benutzen.

    PS: Drück niemals auf die Seitentasten deiner Maus, wenn du den Beitrag grade absenden willst ( Alles wurde gelöscht :pinch: )

    Alles ungetestet!
    - Tobi97