Was ist dieses 'Script_add System'?
Mit diesem System können Scripte wie Sprites und Backgrounds extern geladen werden. Dies ermöglicht Erweiterungen oder Ähnliches extern zu Speichern und zu Laden. Dieses System ist auch als Debug-Funktion nützlich, falls man bei einem grossen Projekt nicht jedes mal in den GM zurück will um nur etwas kleines zu ändern.
Und was ist daran speziell?
Wie schaut das nun aus wenn man's anwendet?
Erstmal braucht man die Scripte die man laden will, hier mal zwei Beispiele:
scr_multiply.txt
scr_disp_mult.txt
Nun die Anwendung, z.B. in einem Create Event:
Ausgabe:
Muss ich dich nun in den Credits erwähnen?
Müssen musst du erstmal gar nichts, erwünscht ist es jedoch schon.
Notizen zum Anhang:
Die oben beschriebnen Beispielscripte sind im Anhang inkl. einer gm6-Datei enthalten, die Scripte sind noch als expotierte Scripte enthalten.
!WARNUNG!
Wenn ihr die Scripte einfach neben der exe liegen lässt kann jeder diese bearbeiten und so seinen eigenen Code in euer Spiel einschleusen, also Vorsicht!
soviel von mir, bei Fragen helfe ich gerne weiter
~Dragoon
Mit diesem System können Scripte wie Sprites und Backgrounds extern geladen werden. Dies ermöglicht Erweiterungen oder Ähnliches extern zu Speichern und zu Laden. Dieses System ist auch als Debug-Funktion nützlich, falls man bei einem grossen Projekt nicht jedes mal in den GM zurück will um nur etwas kleines zu ändern.
Und was ist daran speziell?
- Die Scripte können mit (maximal 15) Argumenten aufgerufen werden
- Es können Werte zurückgegeben werden.
- Kommentare sind in den Scripten erlaubt.
- Die Scripte werden schneller ausgeführt als mit execute_string() oder execute_file()
- Die Scripte können auf andere Scripte direkt mit dem Scriptnamen zugreiffen (sofern alle beteiligen Scripte extern geladen werden)
Wie schaut das nun aus wenn man's anwendet?
Erstmal braucht man die Scripte die man laden will, hier mal zwei Beispiele:
scr_multiply.txt
scr_disp_mult.txt
Nun die Anwendung, z.B. in einem Create Event:
GML-Quellcode
- //Initialisieren
- script_add_init();
- //Erstes Script hinzufügen und in weiteren Scripts verfügbar machen
- scr_mulitply=script_add_from_file("scr_multiply.txt","scr_multiply");
- //Zweites Script (welches das erste benutzt) hinzufügen
- scr_disp_mult=script_add_from_file("scr_disp_mult.txt");
- //Das zweite Script ausführen
- script_ex(scr_disp_mult,4,5);
- game_end();
Ausgabe:
Muss ich dich nun in den Credits erwähnen?
Müssen musst du erstmal gar nichts, erwünscht ist es jedoch schon.
Notizen zum Anhang:
Die oben beschriebnen Beispielscripte sind im Anhang inkl. einer gm6-Datei enthalten, die Scripte sind noch als expotierte Scripte enthalten.
!WARNUNG!
Wenn ihr die Scripte einfach neben der exe liegen lässt kann jeder diese bearbeiten und so seinen eigenen Code in euer Spiel einschleusen, also Vorsicht!
soviel von mir, bei Fragen helfe ich gerne weiter
~Dragoon
int (*x(*x(int))[5])(int*);
Confused? Yes, it's C!
Confused? Yes, it's C!