(Debug Mode)
Zeile 10: Zeile 10:
 
* Baust du einfache geometrische Objekte in dein Spiel ein
 
* Baust du einfache geometrische Objekte in dein Spiel ein
  
== Grundlegender Aufbau ==
+
== Schritt 1: Grundlegender Aufbau ==
  
 
Das grundlegendste Hello World sieht so aus:
 
Das grundlegendste Hello World sieht so aus:
Zeile 80: Zeile 80:
  
 
Die Klasse <code>ea.Game</code> enthält neben Debug-Modus weitere Features, die die Spielumgebung global betreffen. Du erfährst mehr dazu im Tutorial zur [[v4.x/Game|Spielsteuerung]].
 
Die Klasse <code>ea.Game</code> enthält neben Debug-Modus weitere Features, die die Spielumgebung global betreffen. Du erfährst mehr dazu im Tutorial zur [[v4.x/Game|Spielsteuerung]].
 +
 +
=== Das Spiel starten ===
 +
 +
Die Klasse <code>ea.Game</code> kontrolliert auch den Spielstart. Dazu muss lediglich die (zuerst) darzustellende Szene angegeben werden, sowie die Fenstermaße (in diesem Fall 400 px Breite und 300 px Höhe):
 +
 +
<source lang="java">
 +
Scene helloWorld = new HelloWorld_v1();
 +
Game.start(400, 300, helloWorld);
 +
</source>
 +
 +
== Schritt 2: Geometrie ==
  
 
== Anregung zum Experimentieren ==
 
== Anregung zum Experimentieren ==

Version vom 4. Januar 2020, 19:40 Uhr


Dies ist ein Tutorial für die Engine Alpha 4.x. Diese funktioniert anders als die EDU-Version. Du findest eine Übersicht über alle Tutorials hier.

Inhalt

In diesem Tutorial:

  • Erstellst du deine erste Scene
  • Baust du einfache geometrische Objekte in dein Spiel ein

Schritt 1: Grundlegender Aufbau

Das grundlegendste Hello World sieht so aus:

import ea.Scene;
import ea.Game;

import ea.actor.Text;

public class HelloWorld_v1
        extends Scene{

    public HelloWorld_v1() {
        Text helloworld = new Text("Hello World", 2);
        helloworld.setCenter(0,1);
        this.add(helloworld);
        //Game.setDebug(true);
    }

    public static void main(String[] args) {
        Scene helloWorld = new HelloWorld_v1();
        Game.start(400, 300, helloWorld);
    }
}

Scene

Die Hello World-Klasse leitet sich aus der classe ea.Scene der Engine ab. Szenen in der Engine sind eigenständige Spielbereiche. Jede Scene hat ihre eigenen grafischen (und sonstige) Objekte; Scenes werden unabhängig voneinander berechnet. Mehr dazu erfährst du im Szenen-Tutorial. Für den Moment ist relevant: Ein Spiel besteht aus einer oder mehreren Szenen und wir erstellen eine Szene, in der "Hello World" dargestellt werden soll:

public class HelloWorld_v1
        extends Scene

Text

Wir wollen den Text "Hello World" darstellen. Die Klasse ea.actor.Text ist dafür zuständig.

Ein Text mit Inhalt "Hello World" und Höhe 2 wird erstellt:

Text helloworld = new Text("Hello World", 2);

Der Text wird an Position (0|1) zentriert:

helloworld.setCenter(0,1);

Der Text wird an der Szene angemeldet:

this.add(helloworld);

Der letzte Schritt ist nötig, damit das Objekt auch sichtbar wird. In jeder Szene werden nur die Objekte auch gerendert, die auch an der Szene angemeldet sind.

Debug Mode

Um Überblick zu behalten und die Grafikebene zu verstehen, ist der Debug-Modus der Engine hilfreich. Die auskommentierte Zeile aktiviert den Debug Modus:

Game.setDebug(true);

Die Klasse ea.Game enthält neben Debug-Modus weitere Features, die die Spielumgebung global betreffen. Du erfährst mehr dazu im Tutorial zur Spielsteuerung.

Das Spiel starten

Die Klasse ea.Game kontrolliert auch den Spielstart. Dazu muss lediglich die (zuerst) darzustellende Szene angegeben werden, sowie die Fenstermaße (in diesem Fall 400 px Breite und 300 px Höhe):

Scene helloWorld = new HelloWorld_v1();
Game.start(400, 300, helloWorld);

Schritt 2: Geometrie

Anregung zum Experimentieren