Plattformen, die in regelmäßigen Abständen auftauchen und wieder verschwinden, sind ein fester Bestandteil von Jump'n'Run-Spielen wie Hindernisparcours. Die Spieler müssen ihre Sprünge so timen, dass sie zur nächsten Plattform navigieren. Sollten sie diese verfehlen, fallen sie und müssen von vorne beginnen.
In diesem Tutorial lernst du, wie du Verse in Unreal Editor für Fortnite (UEFN) verwendest, um eine Plattform zu erstellen, die in einer Schleige auftaucht und verschwindet. Das vollständiges Script ist am Ende dieses Tutorials als Referenz enthalten.

Verwendete Verse-Sprachfunktionen
loop: Die Plattform ist abwechselnd sichtbar und unsichtbar, bis das Spiel endet. Dieses Beispiel nutzt den Verse-Ausdruckloop, um dieses Verhalten kontinuierlich auszuführen.
Verwendete APIs in Verse
-
Sleep(): Mit der FunktionSleep()kannst du festlegen, wie lange die Plattform in ihrem unsichtbaren und sichtbaren Zustand sein soll. -
Bearbeitbare Eigenschaften: Zwei von Verse erstellte Geräteeigenschaften werden UEFN zur Verfügung gestellt, damit du sie im Editor anpassen kannst - eine
Kreativobjekt-Referenz für die Plattform und einToggleDelayfür den Aufruf der FunktionSleep().
Einrichten des Levels
Dieses Tutorial verwendet Verse-Starter-Vorlage als Ausgangspunkt. Als Erstes initialisierst du ein neues Projekt aus dem Funktionsbeispiel Verse-Gerät.
Dieses Beispiel verwendet die folgenden Objekte und Geräte:
-
1 x Spieler-Spawnflächen-Gerät: Dieses Gerät legt fest, wo der Spieler zu Beginn des Spiels spawnen wird.
-
3 x Kreativobjekt: Kreativobjekte haben mehrere Verhaltensweisen, die du mit Verse aufrufen kannst, wie z. B.
Hide()undShow(), um die Sichtbarkeit und Kollision der Plattform umzuschalten. Dieses Tutorial verwendet die Fliegende Schwebeplattform A** als player-interactable-Plattform, du kannst diese jedoch gerne deinen Anforderungen nach ändern.
Befolge diese Schritte, um dein Level einzurichten:
-
Ziehe eine Fliegende Schwebeplattform A auf deine Szene. Platziere sie über der Plattform. Das ist der Ort, an dem der Spieler zu Beginn des Spiels spawnen wird. Benenne im Outliner die Plattform LoopingDisappearingPlatform.
-
Kopiere die Plattform zweimal und platziere sie auf gegenüberliegenden Seiten der ersten Plattform, sodass der Spieler den richtigen Zeitpunkt für seinen Sprung bestimmen muss. Der Spieler sollte kaum genug Zeit haben, um auf die andere Seite zu gelangen.
-
Verschiebe die Spieler-Spawnfläche auf eine der Plattformen. Das ist der Ort, an dem der Spieler zu Beginn des Spiels spawnen wird. Deine Leveleinstellung sollte ungefähr so aussehen:
Erstellen des Verse-Geräts
Dieses Beispiel verwendet ein Verse-autorisiertes Gerät, um das Verhalten, dass die Sichtbarkeit der Plattform umschaltet. Befolge diese Schritte, um dein Verse-Gerät zu erstellen und setze es in das Level.
-
Erstelle ein neues Verse-Gerät mit dem Namen looping_disappearing_platform mit dem Verse-Explorer. Für Schritte befolgst du Erstelle dein eigenes Gerät mit Verse.
-
Ziehe das Gerät looping_disappearing_platform aus dem Inhaltsbrowser in das Level. Für Schritte befolgst du Erstelle dein eigenes Gerät mit Verse.
Bearbeiten der Geräteeigenschaften in UEFN
In diesem Abschnitt wird gezeigt, wie du zwei Geräteeigenschaften für UEFN freigibst, damit du sie im Editor anpassen kannst:
-
Ein
creative_prop-Verweis auf das Kreativobjekt, das du im Level platziert hast. -
Eine
float-Konstante, um zu speichern, wie lange die Plattform unsichtbar/sichtbar sein soll, genanntToggleDelay.
Befolge diese Schritte, um diese Eigenschaften dem Editor vom Gerät looping_disappearing_platform freizugeben, das du im vorherigen Abschnitt erstellt hast.
-
Öffne den Verse-Explorer und doppelklicke auf looping_disappearing_platform.verse, um das Script in Visual Studio Code zu öffnen.
-
Füge in der Klassendefinition von
looping_disappearing_platformdie folgenden Felder hinzu:-
Ein bearbeitbarer
floatmit dem NamenToggleDelay. Dies stellt die Zeit zwischen dem Umschalten zwischen sichtbar und unsichtbar dar. Initialisiere diesen Wert auf2.0oder zwei Sekunden.# Wie lange bis zum Ändern der Sichtbarkeit der Plattform gewartet wird @editable ToggleDelay : float = 2.0 -
Ein bearbeitbares
creative_propmit dem NamenDisappearingPlatform. Das ist die Level-Plattform, die in regelmäßigen Abständen verschwindet und wieder erscheint. Da dein Code noch keinen Verweis auf dieses Objekt im Level hat, instanziiere dies mit einem leeren Archetypcreative_prop{}. Diese Referenz weist du später deiner schwebenden Plattform zu.# Bezug auf die Plattform im Level. @editable DisappearingPlatform:creative_prop = creative_prop{}
-
-
Die Felder deiner Klasse
looping_disappearing_platformsollten jetzt wie folgt aussehen:using { /Fortnite.com/Devices } using { /Verse.org/Simulation } using { /UnrealEngine.com/Temporary/Diagnostics } # Unter https://dev.epicgames.com/documentation/de-de/uefn/create-your-own-device-in-verse erfährst du, wie du ein Verse-Gerät erstellst. # Ein mit Verse erstelltes Kreativmodus-Gerät, das in einem Level platziert werden kann looping_disappearing_platform := class(creative_device): # Wie lange bis zum Ändern der Sichtbarkeit der Plattform gewartet wird @editable ToggleDelay : float = 2.0 # Bezug auf die Plattform im Level. @editable DisappearingPlatform:creative_prop = creative_prop{}Es ist hilfreich, das Attribut
@editablezu verwenden, um Werte wieToggleDelayaus deinen Scripts dem Editor zugänglich zu machen. Auf diese Weise kannst du ihre Werte in UEFN anpassen, ohne den Verse-Code jedes Mal neu erstellen zu müssen. Somit kannst du schnell iterieren und Werte finden, die zu deinem Spielerlebnis passen. -
Speichere das Script in Visual Studio Code und kompiliere deinen Code, um das looping_disappearing_platform-Gerät im Level zu aktualisieren.
-
Wähle im Outliner-Panel in UEFN das Gerät looping_disappearing_platform aus, um sein Details-Panel zu öffnen.
-
Im Details-Panel unter *Schleife verschwindende Plattform:
-
Setze DisappearingPlatform auf LoopingDisappearingPlatform (das Kreativobjekt, das du dem Level hinzugefügt hast), indem du auf den Objektwähler klickst und das Kreativobjekt im Viewport auswählst oder in der Suchleiste nach LoopingDisappearingPlatform suchst.

-
Setze ToggleDelay auf die Anzahl der Sekunden, wielange die Plattform sichtbar/unsichtbar sein soll. Dieser Wert beträgt standardmäßig 2.0, da dies der Wert ist, den du zuvor definiert hast.
-
Ausblenden und Einblenden der Plattform
Nachdem du nun das Level und die Geräte eingerichtet hast, kannst du Logik zum Ein- und Ausblenden der Plattform hinzufügen. Befolge diese Schritte, um dieses Verhalten zum looping_disappearing_platform-Gerät hinzuzufügen:
-
Die
creative_prop-Klasse hat zwei Methoden, um ihre Sichtbarkeit umzuschalten:Hide()undShow(). Zurück zum Visual Studio-Code, inOnBegin()mit dem NamenHide()und dann aufShow()auf deinerDisappearingPlatform.# Wird ausgeführt, wenn das Gerät in einem laufenden Spiel gestartet wird OnBegin<override>()<suspends>:void= # Mache die Plattform unsichtbar. DisappearingPlatform.Hide() # Mache die Plattform sichtbar. DisappearingPlatform.Show()Wenn du diesen Code ausführst, wirst du nicht sehen, wie die Plattform verschwindet und wieder auftaucht, weil die Aufrufe
Hide()undShow()unmittelbar nacheinander erfolgen. -
Damit die Plattform länger in einem sichtbaren/unsichtbaren Zustand bleibt, musst du eine Verzögerung vor jedem Aufrufen von
Hide()undShow()mitSleep()einfügen. Die FunktionSleep()unterbricht die Ausführung einer Routine. Du gibst die Zeit (in Sekunden) an, für wielange die Ausführung unterbrochen werden soll, indem du der Funktion einFloat-Argument übergibst. RufeSleep()vor jedem Aufruf vonHide()undShow(), indem der ToggleDelay` ausläuft, den du vorher definiert hast.# Wird ausgeführt, wenn das Gerät in einem laufenden Spiel gestartet wird OnBegin<override>()<suspends>:void= # Warte ToggleDelay Sekunden. Sleep(ToggleDelay) # Mache die Plattform unsichtbar. DisappearingPlatform.Hide() # Warte ToggleDelay Sekunden. Sleep(ToggleDelay) # Mache die Plattform sichtbar. DisappearingPlatform.Show()Wenn du diesen Code ausführst, wird die Plattform für zwei Sekunden unsichtbar (die Zeit, die durch
ToggleDelaydefiniert ist), bevor sie für den Rest des Spiels sichtbar wird.Die Funktion
Sleep()kann nur in einem asynchronen Kontext aufgerufen werden. Die MethodeOnBegin()ist bereits ein asynchroner Kontext, da sie über den Bezeichnersuspendsverfügt. Du musst daher nichts weiter tun. Um mehr über den Bezeichnersuspendszu erfahren, siehe Bezeichner und Attribute. -
Um die Plattform abwechselnd sichtbar und unsichtbar zu machen, solange das Spiel läuft, kannst du den Ausdruck
loopverwenden. Die Nutzung vonSchleifeführt den Code innerhalb desSchleife-Ausdrucks wiederholt aus, sofern der Code nicht durchlösenunterbrochen wird. In diesem Beispiel möchtest du die Sichtbarkeit der Plattformen so lange umschalten, wie das Spiel läuft. Daher ist es nicht nötig, einenbreak-Ausdruck hinzuzufügen, um die Schleife zu beenden. Füge am Anfang vonOnBegin()einenLoop-Ausdruck hinzu und rücke den Rest deines Codes so ein, dass er innerhalb der Schleife liegt. Deine MethodeOnBegin()sollte wie folgt aussehen:# Wird ausgeführt, wenn das Gerät in einem laufenden Spiel gestartet wird OnBegin<override>()<suspends>:void= loop: # Warte ToggleDelay Sekunden. Sleep(ToggleDelay) # Mache die Plattform unsichtbar. DisappearingPlatform.Hide() # Warte ToggleDelay Sekunden. Sleep(ToggleDelay) # Mache die Plattform sichtbar. DisappearingPlatform.Show() -
Speichere das Script und klicke auf Verse, und dann auf Build Verse Code, um den Code zu kompilieren.
-
Klicke auf Sitzung starten in der UEFN-Symbolleiste, um das Level zu testen.
Wenn du dein Level testest, sollte deine Plattform alle zwei Sekunden auftacuhen und verschwinden, solange das Spiel läuft.

Vollständiges Script
Der folgende Code ist das komplette Script, um eine Plattform in einer Schleife verschwinden und wieder erscheinen zu lassen.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# Unter https://dev.epicgames.com/documentation/de-de/uefn/create-your-own-device-in-verse erfährst du, wie du ein Verse-Gerät erstellst.
# Ein mit Verse erstelltes Kreativmodus-Gerät, das in einem Level platziert werden kann
looping_disappearing_platform := class(creative_device):
# Wie lange bis zum Ändern der Sichtbarkeit der Plattform gewartet wird
@editable
ToggleDelay : float = 2.0
# Bezug auf die Plattform im Level.
@editable
DisappearingPlatform:creative_prop = creative_prop{}
# Wird ausgeführt, wenn das Gerät in einem laufenden Spiel gestartet wird
OnBegin<override>()<suspends>:void=
loop:
# Warte ToggleDelay Sekunden.
Sleep(ToggleDelay)
# Mache die Plattform unsichtbar.
DisappearingPlatform.Hide()
# Warte ToggleDelay Sekunden.
Sleep(ToggleDelay)
# Mache die Plattform sichtbar.
DisappearingPlatform.Show()
Auf eigene Faust
Wenn du dieses Tutorial abgeschlossen hast, hast du gelernt, wie du mit Verse ein Gerät erstellst, das die Sichtbarkeit einer Plattform umschaltet, solange das Spiel läuft.
Versuche mit dem, was du gelernt hast, Folgendes:
-
Dupliziere das Setup mit dem Gerät looping_disappearing_platform und dem Objekt und probiere verschiedene
ToggleDelay-Zeiten aus, um eine längere Reihe von Plattformen zu erzeugen. -
Wende die gleichen Konzepte an, um regelmäßig Funktionen für andere Objekte aufzurufen, wie etwa das Objektbeweger-Gerät.