Speicherplatz räumen mit delete

  • GM 8

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

  • Speicherplatz räumen mit delete

    Reicht es, in der Klammer eine 0 einzugeben?
    Immer wenn ich die Variablennamen in die Klammer setzte, gab es eine Fehlermeldung (unbekannte Variable).
    So nicht mehr. Bin mir aber nicht sicher ob der Speicherplatz so wirklich freigegeben wird?

    Im Game End Event:
    global.bg_game=background_delete(0);
    global.sprite_testbmp=sprite_delete(0);

    Die Daten(also das Sprite und der Background), die durch die Variablen bezeichnet werden, sollen sozusagen nur temporär genutzt werden.
  • Unsinn.
    Es sollte eigentlich so heißen:

    GML-Quellcode

    1. background_delete(global.bg_game);
    2. sprite_delete(global.sprite_testbmp);


    Wenn eine Fehlermeldung wegen einer unbekannten variable kommt, dann liegt es genau dran. Hast du die Variable korekt definiert?

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • Hab es befürchtet.

    Ich habe ständig Probleme, daß globale Variablen nicht gefunden werden...

    Ich verwende, wie in der Hilfe beschrieben, entweder

    globalvar varname;

    oder direkt

    global.varname

    Und das schreibe ich in einen Objektcode. Kann es sein, daß ich das eher bei den Skripts oder so machen muß?
    Wie gesagt, irgendwie machen die globalen Variablen immer Probleme.
  • Hmh, na eigentlich sollten sie keine Probleme machen.
    Mit Skripten hat das nichts zu tun.

    Achte immer darauf dass das Objekt indessen Create event du die Variablen definierst auch im Raum ist usw.
    Anders kann ichs mir nicht erklären.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • henrik1235 schrieb:

    globalvar deklaiert globale Variablen nur für das Skript bsw. Code Snipsel(?). Benutze direkt global.variablenname=42;
    Somit bleibt diese immer erhalten bis das Spiel beenden wird.
    Sorry, aber dass ist unsinn.
    Du verwechselst es mit "var"

    globalvar deklariert globale Variablen...

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • DragonGamer schrieb:

    Achte immer darauf dass das Objekt indessen Create event du die Variablen definierst auch im Raum ist usw.
    "Create event" war hier das Zauberwort für mich.
    Habe immer den Fehler gemacht, eine globale Variable einfach in irgendeinem Event (z.B. Mausklick) eines Objektes zu definieren.
    Also dort wo ich es gerade gebraucht habe.
    Mit Nachdenken hätte man drauf kommen können... Aber selbst die größte Logik ist nicht immer offensichtlich. Leider.
    Danke.