Methoden/funktionen bei Game Maker?

  • Methoden/funktionen bei Game Maker?

    Ich hötte da eine Frage.

    bei JAVA gibt es diese Methoden (oder Funktionen) wo man eigene Befehle schreiben kann die noc hdazu einen Parameter haben.

    Also z.B:

    rechts_gehen(+2);

    Dieser Script beinhaltet dann einen Code der überprüfen soll ob auf den x koordinaten ein Objekt befindet dass die bewegung stoppen könnte. wenn nicht, dann geht er nicht.
    rechts_gehen(x){
    ...
    }

    Wie funktionieren solche Methoden bzw funktionen bei dem Game Maker? Wie definiert man sie?
    Wäre sehr hilfreich wenn ich das wissen würde. :)

    (PS: Ic hwill NICHT wissen wie ich das jetzt mit rechts gehen mache... Ich will nur wissen wie man soclhe funktionen/Methoden definiert, und wie man sie im GM anwendet. das rechts gehen ist nur ein Beispiel damit jeder weiss was ich meine)
  • Das sind im Gamemaker die Scripts. Leg einfach ein Script (wenn dein Game Maker im Advanced Modus ist, kannst du bei den Ressourcen Scripts hinzufügen) an mit dem Namen rechts_gehen, die übergebenen Parameter sind argument0, argument1, argument2 etc. (bis maximal argument15). Wieviele der Parameter du nutzt, bleibt dir überlassen.
    In deinem Beispiel wäre das Skript (jetzt mal ohne Kollisionsabfrage) also recht kurz.

    GML-Quellcode

    1. x+=argument0;

    und ein Aufruf davon, mit dem Ziel, das Ding 2 Pixel nach rechts zu bewegen ist dann:

    GML-Quellcode

    1. rechts_gehen(2);
    Einige meiner Spiele:
  • Lies dir doch mal die GML - Die Einsteigerreferenz, da wird das auch recht gut erklärt.
    Davon abgesehen habe ich doch vorhin schon ein komplettes Skript geschrieben:

    GML-Quellcode

    1. x+=argument0;

    Grundsätzlich:
    Alles was du beim Aufruf des Scripts in die geschweiften Klammern schreibst, wird als Parameter übergeben und kann als Variable argument0-argument15 im Script verwendet werden.
    Die Funktion kann auch was zurückgeben, Beispiel:
    Code:

    GML-Quellcode

    1. show_message("2 + 2 = "+string(scr_addiere(2,2)));


    Script:

    GML-Quellcode

    1. //scr_addiere
    2. ergebnis=argument0+argument1;
    3. return ergebnis;
    Einige meiner Spiele:
  • Du legst einfach einen Script an.
    Darin schreibst du ganz normal alles was passieren soll.

    z.b.:

    GML-Quellcode

    1. player.x +=argument0;

    Die Datei nennst du rechts_gehen

    Jetzt schreibst du einen Script in das key press event des players und schreibst dort in den Script rechts_gehen(Zahl der schritte)

    Ich bin keine Signatur... Ich putze hier nur!
  • Noch was:
    Im Gegensatz zu Java ist der Gültigkeitsbereich bei Skripts immer auf das ausführende Objekt ausgeweitet, heisst, das Skript kann auf die Variablen des Objektes zugreifen, in dem es ausgeführt wird. das bringt Vor- und Nachteile, aber eher Nachteile find ich :D
    "das war meine letzte flamewar PM an dich ."