Konstante wärend des Spiels erstellen

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

  • Konstante wärend des Spiels erstellen

    Hallo Leute!

    Ist es irgendwie möglich, eine Konstante während des Spiels zu erstellen?
    Ich hab öfter mal bemerkt, dass in manchen fertig-Scripten if variable_local_esists("variablen_name") benutz wird... womit dann abgefragt wird, ob eine font o.ä. existiert.
    Und da eine Font meines Wissens auch nur eine Konstante ist (Bsp.: font=font_add(...); oder?), hab ich dann das ausprobiert:
    variable_local_set("Variablenname",object_add);
    Aber das hat leider nicht funktioniert...
    Geht das überhaupt irgendwie?


    Tobi
  • Meinst du jetzt sowas wie

    GML-Quellcode

    1. variable=instance_create(argumente);

    ?

    Andernfalls hab' ich deine Frage nicht so wirklich verstanden
    "Leben. Erzähl' mir bloß nichts vom Leben."
  • Das funktioniert wie bei jeder anderen Variable auch:

    GML-Quellcode

    1. global.neues_objekt = object_add();
    Der richtige "Name" (ich glaube das ist es, was du mit der "Konstanten" meinst) von dem Objekt ist dann __newobject12 (Beispielsweise, 12 ist die Objekt-ID).

    Die variable-Funktionen sind deshalb sehr praktisch, weil sie Strings nehmen:

    GML-Quellcode

    1. // Beispiel für die Benutzung
    2. for (i=0;i>20;i+=1) {
    3. variable_local_set("multivar_"+string(i),instance_create(x,y,obj_multi));
    4. }
    (obwohl man auch ein Array dafür nehmen könnte :D )

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

  • Im Game Maker 7 erreichst du die Deklaration einer globalen Variable ohne Präfix durch globalvar.

    GML-Quellcode

    1. globalvar die_variable;


    Im Game Maker 6 gibt es keine Möglichkeit eine globale Variable ohne Präfix zu setzen.

    Unabänderliche Konstanten zur Laufzeit zu erstellen ist nicht möglich. Wie auch in vielen anderen Programmiersprachen. Liegt daran, dass man zwischen Konstanten (Wertzweisung vor der Ausführung) und Variablen (Wertzuweisung während der Ausführung) unterscheidet.
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum
  • Spoiler anzeigen
    globalvar geht doch aber weg wenn das Script beendet wurde?

    GML-Quellcode

    1. global.variable_name = object_add();
    Nun kannst du meinetwegen auch in object2:

    GML-Quellcode

    1. instance_create(x,y,global.variable_name);
    2. global.variable_name.variable_im_erstellten_objekt = 12;
    3. with (global.variable_name) { /* mach was */ }


    // EDIT: Eine Konstante KANNST du nicht während dem Spiel erstellen.
    *Delete me!*

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

  • Im Game Maker 6 gibt es keine Möglichkeit eine globale Variable ohne Präfix zu setzen.
    Ja schade... aber trotzdem DANKE!
    Im Game Maker 7 erreichst du die Deklaration einer globalen Variable ohne Präfix durch globalvar.
    Den GM7 werde ich mir im nächsten Monat vllt noch zulegen...

    *gelöst*
  • Benutzer online 1

    1 Besucher