Version 4 der Engine ist noch nicht veröffentlicht. Die Tutorials sind daher noch Work in Progress, genauso wie alle Inhalte der Tutorials. Wenn du dennoch bereits die Version 4 testen möchtest, findest du die notwendigen Quellen zum Builden der Engine im entsprechenden Git-Branch. Falls du mit der Engine Version 4 bereits arbeitest, freuen wir uns besonders auf dein Feedback.

In diesem Tutorial lernst du:

Die wesentlichsten Grundlagen der Engine. Das sind:

  • Wie du eine einfache Szene erstellen kannst
  • Das visuelle Koordinatensystem, in sich jede Szene abspielt
  • Wie die Actor-Klassen funktionieren, aus denen (fast) alle sichtbaren Objekte im Spiel bestehen.

Dieses Tutorial setzt voraus, dass:

  • Du dich grundlegend mit Java auskennst und damit die Voraussetzungen für die Arbeit mit der Engine erfüllst.
  • Du deine Entwicklungsumgebung für die Arbeit mit der Engine eingerichtet hast.

Das machst du in diesem Tutorial

Du erstellst ein erstes einfaches Spiel mit der Engine.

Quellen

[{{{link}}} Hier findest du einen Ordner mit allen Quellen zu diesem Tutorial.]


Herzlich Willkommen

Hier beginnt deine Arbeit mit der Engine Alpha! Wir sparen uns die Vorworte und springen direkt ins Eingemachte: Der Code für erstes "Spiel".

Hallo Welt

Wenn du dein Projekt korrekt eingerichtet hast, erstelle einfach deine erste Klasse HelloWorld.java und lege los. Das hier ist das Grundgerüst für deine Hello-World-Programm:

public class HelloWorld
extends Scene{

    public HelloWorld() {
        //Erstelle ein Text-Objekt (mit Inhalt "Hello World"), das angezeigt werden soll.
        Text helloworld = new Text(this, "Hello World");
        helloworld.position.setCenter(0,0); //Zentriere den Text im Bild

        //Füge das Text-Objekt dieser Szene hinzu.
        //-> Erst nachdem ein Objekt der Szene hinzugefügt wurde, ist es auch sichtbar.
        this.add(helloworld);
    }

    public static void main(String[] args) {
        //Starte zum Programmbeginn einfach das Spiel:
        startGame();
    }

    public static void startGame() {
        //Erstelle die Szene, die angezeigt werden soll (~ unser HelloWorld)
        Scene helloWorld = new HelloWorld();

        //Startet das "Spiel" und macht damit die Szene sichtbar, die wir erstellt haben.
        //Dabei setzen wir auch die Fenstergröße: 812 px breit, 502 px hoch.
        //Der letzte Parameter ist die Szene, mit der das Spiel starten soll (~ unser HelloWorld)
        Game.start(812, 592, helloWorld);
    }
}

Szenen

Alles sichtbare passiert in der Engine in Szenen. Jedes sichtbare Objekt ("Actors") ist Teil einer Scene. Darum braucht jedes Spiel mindestens eine Szene. Unsere ist ein Objekt unserer Klasse HelloWorld, die sich direkt aus Scene ableitet.

Fast alle Beispiele in den Tutorials bestehen aus einer einzigen Szene, um möglichst einfach und übersichtlich zu bleiben. Daher werden dir in den meisten Tutorials Klassen begegnen, die sich als Tutorialklasse direkt aus Scene ableiten. Die Arbeit mit mehreren Szenen ist für größere Spiele enorm praktisch (z.B. bei mehreren Leveln, Menüs etc.). Mehr dazu im Tutorial zu Szenen.

Den Text erstellen

Der Text benötigt im Konstruktor die Szene, in der er sich befindet. Dazu übergibt HelloWorld sich selbst.

Das Spiel starten

Du startest das Spiel über die Klasse Game. Die statische Methode start startet die angegebene Szene. Zusätzlich gibst du die gewünschte Fenstergröße an.

Das Koordinatensystem

Jede Szene hat ein zweidimensionales Koordinatensystem, auf dem sich alle sichtbaren Objekte ("Actors") befinden. Das Koordinatensystem ist genauso aufgebaut wie ein klassisches, mathematisches Koordinansystem: Die X-Achse geht nach rechts und die Y-Achse geht nach unten.

Mit dem Aufruf der statischen Methode Game.setDebug(true) kannst du den Debug-Modus einschalten und dir das Koordinatensystem anzeigen lassen.


Actors