Dieses Tutorial behandelt alle wichtigen Grundlagen zur Programmierung und JavaScript. Für dieses Tutorial wird lediglich DXStudio benötigt. Bevor wir anfangen, öffnen wir einfach DXStudio und erstellen ein neues Dokument. Es spielt keine Rolle ob wir hier nun eine 2D oder 3D Szene erstellen.
Nachdem die Szene erstellt wurde, können wir anhand des Tabs oben links in der Ecke erkennen, dass die „scene_1.dxscene“ geöffnet ist. Wenn das der Fall ist, klicken wir eine Zeile weiter oben auf das Symbol links neben dem „Play“-Button. Jetzt sollte sich das CodePad geöffnet haben und wartet auf Code.
An dieser Stelle sei noch gesagt, dass das Script nur ausgeführt wird wenn die entsprechende Szene aktiv ist. Code der im „Document Script“ steht, wird ständig ausgeführt da dieser den Szenen übergeordnet ist. Das verdeutlicht auch der Dokumentbaum im CodePad sehr schön. Zudem kann auch jedes Objekt, jedes Mesh, Bitmap, etc. pp. ein eigenes Script haben. Selbstverständlich können die Scripte gegenseitig aufeinander zugreifen aber das Alles ist ein sehr umfangreiches Thema und für eine Randnotiz ist dieser Absatz auch schon viel zu lang. Behalten wir diese Info einfach im Hinterkopf und kommen zu unserem ersten Script.
Wie in jedem Tutorial fangen wir einfach mit einem „Hallo Welt“-Beispiel an. Geben wir einfach mal etwas Code ein:
print("Hallo Welt!");Zum Ausführen drücken wir nun einfach F12 oder klicken auf das „play“ Symbol. Jetzt startet der DXPlayer und in der Konsole wird „Hallo Welt“ ausgegeben.
Mit der Funktion „print()“ können wir Text in der Konsole ausgeben. Hierbei ist zu beachten, dass reiner Text immer in Anführungsstrichen oder einfachen Hochkommata steht. Das Semikolon am Ende sagt dem Computer, dass diese Befehlszeile zu Ende ist. Jede Befehlszeile muss mit einem Semikolon beendet werden, eine Ausnahme sind allerdings Funktionsköpfe, aber dazu später mehr.
Kommentare werden nicht ausgeführt und sind nur für den/die Programmier bestimmt. Diese werden oft vernachlässigt, sind aber Gold wert. Es gibt zwei verschiedene Arten von Kommentaren: Einzeilige Kommentare beginnen mit “//“ und enden am Ende der Zeile. Die nächste Zeile ist also nicht vom Kommentar betroffen. An einigen Stellen im Code kann es vorkommen, dass es mehr als eine Kommentarzeile bedarf. Dafür gibt es mehrzeilige Kommentare. Ein mehrzeiliger Kommentar fängt mit “/*“ and und endet erst beim „*/“. Sollte man das */ vergessen, wird sämtlicher Code der nach dem /* folgt schlichtweg ignoriert.
Besonders bei umfangreichem Code lohnt es sich viele Kommentare einzusetzen, um später nicht den Überblick zu verlieren. Wenn man in einem Team arbeitet, sind Kommentare unabdingbar. So wissen andere Personen, die sich den Code zum ersten Mal anschauen, sofort bescheid was die folgenden Zeilen bewirken.
Wir wissen jetzt, wie wir Text ausgeben und unseren Code kommentieren. Damit kommen wir aber noch nicht sehr weit. Das nächste wichtige Thema sind Variablen. Eine Variable dient dazu, Daten zu speichern. Was später den Vorteil hat, dass wir auf diese Daten zugreifen können und auch die Möglichkeit haben mit diesen zu arbeiten. Eine Variable kann man sich ganz gut wie eine Schublade vorstellen, die wir beschriften können und in die wir einen Notizzettel legen können. Wir schreiben eine beliebige Information (Name, Lebensenergie, etc…) auf den imaginären Notizzettel, schließen die Schublade und können sie jederzeit anhand der Beschriftung wiederfinden, den Zettel rausholen und die Information darauf ändern.
Im Gegensatz zu vielen anderen Sprachen muss man sich nicht darum kümmern, welchen Datantyp wir in der Variable speichern. Bei der Deklaration von Variablen gibt es einige Dinge zu beachten:
var name;Jetzt weiß der Computer, dass es die Variable „name“ gibt und kann darin einen Wert speichern. Bevor wir eine Variable benutzen können, müssen wir sie immer deklarieren, damit der Computer weiß, dass es sie gibt. Jetzt wollen wir einen Namen in der Variable speichern und ausgeben:
var name; name = 'Dave'; print('Hallo'); print(name);Wenn man eine Variable mit der print()-Funktion ausgeben möchte, darf der Variablenname nicht zwischen Hochkommatas und/oder Anführungszeichen stehen, da sie sonst als Text interpretiert wird. Wenn wir das Besipiel nun ausführen erscheint „Hallo“ und „Dave“ untereinander. Um nun beides nebeneinander ausgeben zu lassen, müssen wir die Variable an den Text anhängen. Dafür benutzen wir ein “+“.
print('hallo ' + name);Eine Variable kann auch bei der Deklaration definiert werden. Das geht ganz einfach:
var name = 'Dave';
Variablen können aber auch Zahlen enthalten und zum Rechnen verwendet werden. Sehen wir uns mal folgendes Beispiel an:
var punkte = 125; var multiplikator = 1.95; var summe = punkte * multiplikator; print('Du hast ' + summe + ' Punkte erreicht!');In den ersten beiden Zeilen deklarieren und definieren wir „punkte“ und „multiplikator“, das sollte nichts Neues sein. Die dritte Zeile ist nun aber wieder etwas interessanter aber selbsterklärend. Bevor wir weitermachen sollten wir uns aber einen kleine Überblick über mögliche Operatoren verschaffen: + Addition - Subtraktion * Multiplikation / Division % Modulo (gibt den Rest eine ganzzahligen Division zurück)
Zusätzlich gibt es noch die Möglichkeit, kombinierte Zuweisungsoperatoren zu verwenden. Mit “+=“ und “-=“ kann die Addition bzw. Subtraktion zusammen mit einer Zuweisung stattfinden.
Es folgt nun eine etwas umfangreichere Berechnung:
var punkte = 160254; //Gesamtpunktzahl var multiplikator = 23; //Multiplikator var benoetigteZeit = 34; //benötigte Zeit var maxZeit = 60; //Zeitbegrenzung var zeitBonus = maxZeit % benoetigteZeit; //Zeitbonus (differenz) var summe = (punkte + zeitBonus) * multiplikator; print('Zeitbonus :' + zeitBonus); print('Punkte :' + punkte); print('multiplikator:' + multiplikator); print('Gesamtpunkte:' + summe);Wie in der Mathematik üblich, haben Multiplikation und Division eine höhere Priorität als Addition und Subtraktion. Zudem findet die Bearbeitung bei Berechnungsausdrücken von links nach rechts statt. Man kann die Reihenfolge allerdings durch das setzen von Klammern beeinflussen. Die Berechnungen in Klammern werden zuerst ausgeführt.
Wenn wir eine Variable nur um eins erhöhen oder erniedrigen möchten, steht uns eine Vereinfachung zur Verfügung:
Var Leben = 3; Leben++; //erhöht leben um eins Leben--; //erniedrigt leben um eins
Jetzt kennen wir schon einige sehr wichtige Grundlagen. Richtig interesannt wird es aber erst in den folgenden Kapiteln ;).