Guten Tag/Abend Comunity,
dies Projekt - ursprünglich für den IT Unterricht in der Schule gedacht, hat deutlich mehr Zeit in anspruch genommen als beabsichtigt, aber nun ist es zumindest teilweise Fertig.
Ich präsentiere euch den wahrscheinlich ersten GML-Editor mit funktionierender Syntax-Überprüfung in GML geschrieben geschrieben.
Wofür soll das gut sein?
Naja es ermöglicht einem z.B. in einem komplexen Spiel eine eigene Skriptsprache einzubauen bzw. einen Editor dafür. Dies kann zum beispiel für Spieler-eigene Maps verwendet werden wobei der produzierte code dann während des Hauptspiels eingefügt wird (durch event_add, etc).
So sieht das z.B. aus:
Der Editor besitzt bereits color-highlighting sowie eine Art Autovervollständigung (dazu müssen alle möglichen FUnktionen samt Anzahl von Argumenten in ein Grid eingefügt werden - siehe create-event: Init )
Das System ist allerdings noch nicht wirklich fertig bzw. hat ein paar Einschrenkungen aus anderen Gründen:
Spoiler anzeigen
- Arrays funktionieren noch nicht wirklich bzw der Spellchecker nimmt sie als Regelverstoß war.
- Hinter einem if-statement muss eine Klammer folgen also "if (a = b)" statt "if a = b"
- Benutzt man else dann muss der Code hinterm if-statement in geschweifte Klammer
- Do-Until loop sowie das switch-statement funktionieren noch nicht (for und alle anderen aber schon)
- Mehrzeilige strings werden nicht korekt gehighlightet - Komentare dagegen schon.. ka wieso..
- Die Text-bearbeitungsengine ist schrott.. sollte ersetzt werden.
- Syntax checker hat noch weitere Probleme wie das man eine Zeile mit nem Operator beginnen kann.. wird noch gelöst..
Auf Benachrichtigungen über weitere Probleme freue ich mich.
Wer Fragen hat kann sie gerne stellen.
Der Code ist allerdings wirklich für "Fortgeschrittene" würde ich sagen - falls überhaupt jemand bei meinem Stil durchblickt.. (da der Spellchecker möglichst in Echtzeit laufen muss, habe ich oft die Leserlichkeit der Geschwindigkeit untergeordnet... )
Leider gibt es im GM-Studio keine Möglichkeit mehr zur Laufzeit Code auszuführen weshalb man dort keine custom-maps mit Code ermöglichen kann - Außer man hat einen eigenen Interpreter in GML. Dies war auch mein ursprüngliches Ziel als ich diesen Spellchecker angefangen habe.
In der Beispil-Datei ist etwas dazu schon vorbereitet aber im Moment ist dieses Vorhaben aufgrund von Zeitmangel auf eis gelegt. Eventuell werde ichs aber irgendwann angehen - eventuell mit Hilfe meines Professors da wir ein vergleichbares Thema grad behandeln...
So, hoffe irgendjemandem nützt dies etwas und freue mich natürlich wenn jemand anders dran arbeiten würde!
dies Projekt - ursprünglich für den IT Unterricht in der Schule gedacht, hat deutlich mehr Zeit in anspruch genommen als beabsichtigt, aber nun ist es zumindest teilweise Fertig.
Ich präsentiere euch den wahrscheinlich ersten GML-Editor mit funktionierender Syntax-Überprüfung in GML geschrieben geschrieben.
Wofür soll das gut sein?
Naja es ermöglicht einem z.B. in einem komplexen Spiel eine eigene Skriptsprache einzubauen bzw. einen Editor dafür. Dies kann zum beispiel für Spieler-eigene Maps verwendet werden wobei der produzierte code dann während des Hauptspiels eingefügt wird (durch event_add, etc).
So sieht das z.B. aus:
Der Editor besitzt bereits color-highlighting sowie eine Art Autovervollständigung (dazu müssen alle möglichen FUnktionen samt Anzahl von Argumenten in ein Grid eingefügt werden - siehe create-event: Init )
Das System ist allerdings noch nicht wirklich fertig bzw. hat ein paar Einschrenkungen aus anderen Gründen:
- Arrays funktionieren noch nicht wirklich bzw der Spellchecker nimmt sie als Regelverstoß war.
- Hinter einem if-statement muss eine Klammer folgen also "if (a = b)" statt "if a = b"
- Benutzt man else dann muss der Code hinterm if-statement in geschweifte Klammer
- Do-Until loop sowie das switch-statement funktionieren noch nicht (for und alle anderen aber schon)
- Mehrzeilige strings werden nicht korekt gehighlightet - Komentare dagegen schon.. ka wieso..
- Die Text-bearbeitungsengine ist schrott.. sollte ersetzt werden.
Auf Benachrichtigungen über weitere Probleme freue ich mich.
Wer Fragen hat kann sie gerne stellen.
Der Code ist allerdings wirklich für "Fortgeschrittene" würde ich sagen - falls überhaupt jemand bei meinem Stil durchblickt.. (da der Spellchecker möglichst in Echtzeit laufen muss, habe ich oft die Leserlichkeit der Geschwindigkeit untergeordnet... )
Leider gibt es im GM-Studio keine Möglichkeit mehr zur Laufzeit Code auszuführen weshalb man dort keine custom-maps mit Code ermöglichen kann - Außer man hat einen eigenen Interpreter in GML. Dies war auch mein ursprüngliches Ziel als ich diesen Spellchecker angefangen habe.
In der Beispil-Datei ist etwas dazu schon vorbereitet aber im Moment ist dieses Vorhaben aufgrund von Zeitmangel auf eis gelegt. Eventuell werde ichs aber irgendwann angehen - eventuell mit Hilfe meines Professors da wir ein vergleichbares Thema grad behandeln...
So, hoffe irgendjemandem nützt dies etwas und freue mich natürlich wenn jemand anders dran arbeiten würde!
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von DragonGamer ()