Exportieren

Übersicht

Jetzt, da Du ein fertiges Spiel hast, willst Du wahrscheinlich Deinen Erfolg mit anderen teilen. Es ist jedoch nicht praktisch, Deine Freunde zu bitten, Godot herunterzuladen, nur damit sie Dein Projekt öffnen können. Stattdessen kannst Du Dein Projekt exportieren und in ein „Paket“ konvertieren, das von jedem ausgeführt werden kann.

Wie Du Dein Spiel exportierst, hängt davon ab, auf welche Plattform Du Dich fokussierst. In diesem Tutorial erfährst Du, wie Du das Spiel „Dodge the Creeps“ für unterschiedliche Plattformen exportieren kannst. Zunächst müssen wir jedoch einige Änderungen an der Funktionsweise des Spiels vornehmen.

Bemerkung

Wenn du „Dodge the Creeps“ noch nicht selbst erstellt hast, lies bitte Dein erstes Spiel, bevor du mit diesem Tutorial weitermachst.

Vorbereitung des Projekts

In „Dodge the Creeps“ verwendeten wir Tastatursteuerungen, um den Charakter des Spielers zu bewegen. Dies ist in Ordnung, wenn Ihr Spiel auf einer PC-Plattform gespielt wird, aber auf einem Telefon oder Tablett müssen Sie die Touchscreen-Eingabe unterstützen. Da ein Klickereignis wie ein Touch-Ereignis behandelt werden kann, konvertieren wir das Spiel in einen Click-and-Move-Eingabestil.

Standardmäßig emuliert Godot Mauseingaben von Berührungseingaben, was bedeuted das alles was programmiert ist auf Mauseingaben zu reagieren auch von Berührungseingaben ausgelöst wird

../../_images/export_touchsettings.png

Bevor wir die Input-Methode ändern, gehen wir in den Projekteinstellungen zu Display und Window. Setze bei Stretch den Mode auf „2d“ und Aspect auf „keep“. Das sorgt dafür, dass das Spiel sich auf unterschiedlich großen Monitoren richtig vergrößert bzw. verkleinert.

../../_images/export_stretchsettings.png

Als nächstes müssen wir das Skript Player.gd ändern, um die Eingabemethode zu ändern. Wir entfernen die wichtigsten Eingaben und bringen den Spieler dazu, sich auf ein „Ziel“ zuzubewegen, das durch das Berühren (oder Klicken) des Ereignisses festgelegt wird.

Hier ist das vollständige Skript für den Spieler, mit Kommentaren, die aufzeigen, was wir geändert haben:

extends Area2D

signal hit

export var speed = 400
var velocity = Vector2()
var screen_size
# Add this variable to hold the clicked position.
var target = Vector2()

func _ready():
    hide()
    screen_size = get_viewport_rect().size

func start(pos):
    position = pos
    # Initial target is the start position.
    target = pos
    show()
    $CollisionShape2D.disabled = false

# Change the target whenever a touch event happens.
func _input(event):
    if event is InputEventScreenTouch and event.pressed:
        target = event.position

func _process(delta):
    # Move towards the target and stop when close.
    if position.distance_to(target) > 10:
        velocity = (target - position).normalized() * speed
    else:
        velocity = Vector2()

# Remove keyboard controls.
#    if Input.is_action_pressed("ui_right"):
#       velocity.x += 1
#    if Input.is_action_pressed("ui_left"):
#        velocity.x -= 1
#    if Input.is_action_pressed("ui_down"):
#        velocity.y += 1
#    if Input.is_action_pressed("ui_up"):
#        velocity.y -= 1

    if velocity.length() > 0:
        velocity = velocity.normalized() * speed
        $AnimatedSprite.play()
    else:
        $AnimatedSprite.stop()

    position += velocity * delta
    # We don't need to clamp the player's position
    # because you can't click outside the screen.
    # position.x = clamp(position.x, 0, screensize.x)
    # position.y = clamp(position.y, 0, screensize.y)

    if velocity.x != 0:
        $AnimatedSprite.animation = "right"
        $AnimatedSprite.flip_v = false
        $AnimatedSprite.flip_h = velocity.x < 0
    elif velocity.y != 0:
        $AnimatedSprite.animation = "up"
        $AnimatedSprite.flip_v = velocity.y > 0

func _on_Player_body_entered( body ):
    hide()
    emit_signal("hit")
    $CollisionShape2D.set_deferred("disabled", true)

Exportvorlagen

Um zu exportieren, müssen Sie die Exportvorlagen von der Website http://godotengine.org/download. herunterladen. Diese Vorlagen sind optimierte Versionen der Engine, ohne dass der Editor für jede Plattform vorkompiliert wird. Sie können sie auch in Godot herunterladen, indem Sie auf Editor -> Manage Export Templates klicken:

../../_images/export_template_menu.png

In dem erscheinenden Fenster können Sie auf „Download“ klicken, um die Vorlagenversion zu erhalten, die Ihrer Version von Godot entspricht.

../../_images/export_template_manager.png

Bemerkung

Wenn Sie Godot aktualisieren, müssen Sie Vorlagen herunterladen, die der neuen Version entsprechen, da sonst Ihre exportierten Projekte möglicherweise nicht ordnungsgemäß funktionieren.

Exportvoreinstellungen

Anschließend kannst Du die Exporteinstellungen konfigurieren, indem Du auf Projekt -> Exportieren klickst:

../../_images/export_presets_window.png

Erstelle eine neue Exportvoreinstellung, indem Du auf „Hinzufügen“ klickst und eine Plattform auswählst. Du kannst mit verschiedenen Einstellungen beliebig viele Voreinstellungen vornehmen.

Am unteren Rand des Fensters befinden sich zwei Schaltflächen. „Exportiere PCK/ZIP“ erstellt nur eine gepackte Version der Daten Deines Projekts. Dies beinhaltet keine ausführbare Datei, so dass das Projekt nicht allein ausgeführt werden kann.

Die zweite Schaltfläche „Projekt exportieren“ erstellt eine vollständig ausführbare Version Deines Spiels, z. B. ‚.apk‘ für Android oder eine ‚.exe‘ für Windows.

Auf den Registerkarten „Ressourcen“ und „Funktionen“ können Sie festlegen, wie das Spiel für jede Plattform exportiert wird. Wir können diese Einstellungen erst einmal so lassen wie sie sind.

Exportieren nach Plattform

In diesem Abschnitt werden wir den Prozess für jede Plattform durchgehen, einschließlich zusätzlicher Software oder Anforderungen, die Du benötigst.

PC (Linux/macOS/Windows)

Der Export von PC-Plattformen funktioniert auf allen drei unterstützten Betriebssystemen gleich. Öffne das Exportfenster und klicke auf „Hinzufügen…“, um die gewünschte(n) Voreinstellung(en) zu erstellen. Klicke dann auf „Projekt exportieren“ und wähle einen Namen und einen Zielordner aus. Wähle einen Ort außerhalb Deines Projektordners.

Klicke auf „Speichern“ und die Engine erstellt die Exportdateien.

Bemerkung

Wenn Du dein Projekt für macOS exportierst, dann wird auf einem macOS-Computer eine .dmg-Datei erzeugt, während unter Linux oder Windows eine` .zip`-Datei erzeugt wird. In beiden Fällen enthält die komprimierte Datei eine macOS .app, die Du doppelklicken und ausführen kannst.

Bemerkung

Wenn unter Windows die exportierte ausführbare Datei ein anderes Symbol als das Standardsymbol haben soll, musst Du es manuell ändern. Siehe dazu: Changing application icon for Windows.

Android

Tipp

Mobile Geräte verfügen über eine Vielzahl von Funktionen. In den meisten Fällen funktionieren die Standardeinstellungen von Godot, aber die Entwicklung für mobile Geräte ist manchmal mehr Kunst als Wissenschaft, und Du musst möglicherweise etwas experimentieren und nach Hilfe suchen, um alles zum Laufen zu bringen.

Bevor Du Dein Projekt für Android exportieren kannst, musst Du folgende Software herunterladen:

Wenn Du Android Studio zum ersten Mal ausführst, klicke auf Konfigurieren -> SDK-Manager und installiere „Android SDK Platform Tools“. Dadurch wird das Befehlszeilentool ‚adb‘ installiert, durch das Godot mit Deinem Gerät kommuniziert.

Erstelle als Nächstes einen „Debug-Keystore“, indem Du den folgenden Befehl in der Befehlszeile Deines Systems ausführst:

keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999

Klicken Sie in Godot auf Editor -> Editor Settings und wählen Sie den Abschnitt Export/Android. Hier müssen Sie die Pfade zu den Android SDK-Anwendungen auf Ihrem System und den Speicherort des gerade erstellten Schlüsselspeichers festlegen.

../../_images/export_editor_android_settings.png

Jetzt ist alles für den Export fertig. Klicke auf Projekt -> Exportieren und füge eine Voreinstellung für Android hinzu (siehe oben).

Klicke auf die Schaltfläche „Projekt exportieren“, und Godot erstellt eine APK, die Du auf Dein Gerät herunterladen kannst. Verwende dazu Folgendes in der Befehlszeile:

adb install dodge.apk

Bemerkung

Möglicherweise muss sich Dein Gerät im Entwicklermodus befinden. Weitere Informationen findest Du in der Dokumentation Deines Geräts.

Wenn Dein System dies unterstützt, wird beim Anschließen eines kompatiblen Android-Geräts die Schaltfläche „One-click Deploy“ im Bereich der Godot Playtest-Schaltfläche angezeigt:

../../_images/export_android_oneclick.png

Durch Klicken auf diese Schaltfläche wird die APK erstellt und in einem Schritt auf Dein Gerät kopiert.

iOS

Bemerkung

Um Dein Spiel für iOS zu erstellen, benötigst Du einen Computer mit macOS auf dem Xcode installiert ist.

Vor dem Exportieren musst Du einige Einstellungen vornehmen, damit das Projekt erfolgreich exportiert werden kann. Zuerst benötigst Du die „App Store Team Id“, die Du findest, indem Du Dich bei Deinem Apple-Entwicklerkonto anmeldest und im Abschnitt „Mitgliedschaft“ nachsiehst.

Außerdem musst Du App-Icons und Begrüßungsbildschirme bereitstellen, wie unten gezeigt:

../../_images/export_ios_settings.png

Klicke auf „Projekt exportieren“ und wähle einen Zielordner aus.

Nachdem Du das Projekt erfolgreich exportierst hast, findest Du an Deinem ausgewählten Speicherort die folgenden Ordner und Dateien:

../../_images/export_xcode_project_folders.png

Du kannst das Projekt jetzt in Xcode öffnen und das Projekt für iOS erstellen. Die Xcode-Buildprozedur geht über den Rahmen dieses Tutorials hinaus. Weitere Informationen findest Du unter https://help.apple.com/xcode/mac/current/#/devc8c2a6be1 .

HTML5 (web)

Klicke in der HTML5-Voreinstellung auf „Projekt exportieren“. Wir müssen keine der Standardeinstellungen ändern.

Wenn der Export abgeschlossen ist, hast Du einen Ordner mit den folgenden Dateien:

../../_images/export_web_files.png

Wenn Du die `.html‘-Datei in Deinem Browser öffnest, kannst Du das Spiel spielen. Du kannst die Datei jedoch nicht direkt öffnen. Sie muss von einem Webserver bereitgestellt werden. Wenn Du noch keinen Webserver auf Deinem Computer eingerichtet hast, kannst Du z.B. mit einer Suchmaschine Anleitungen dazu für Dein Betriebssystem finden.

Öffne die URL in Deinem Browser, unter der Du die HTML-Datei abgelegt hast. Möglicherweise musst Du einige Sekunden warten, bis das Spiel geladen ist, bevor Du den Startbildschirm siehst.

../../_images/export_web_example.png

Das Konsolenfenster unter dem Spiel zeigt an, ob etwas schief geht. Du kannst es deaktivieren, indem Du beim Exportieren des Projekts „Exportieren mit Debuggen“ deaktivierst.

Bemerkung

Die Browserunterstützung für WASM ist nicht sehr weit verbreitet. Firefox und Chrome unterstützen beide, aber möglicherweise funktioniert nicht alles. Stelle sicher, dass Du Deinen Browser auf die neueste Version aktualisiert hast, und melde alle Fehler, die Du gefunden hast an Godot Github Repository.