Schalter können auf zwei verschiedene Arten verwendet werden:
-
Als physischer Schalter, mit dem Spieler interagieren können, um so andere Geräte ein- oder auszuschalten. Sie können so beispielsweise Lichter ein- und ausschalten oder Türen öffnen und schließen.
-
Als Filtermethode für das Interagieren mit anderen Geräten. Wenn ein Schalter beispielsweise auf „An“ gestellt ist, sendet er ein Signal auf einem bestimmten Kanal. Ist er auf „Aus“ gestellt, sendet er auf einem anderen Kanal.
Weitere Informationen zum Finden des Schalter-Geräts findest du unter Geräte finden und platzieren.
Kontextabhängiges Filtern
Einige Geräte werden von einem Feature namens kontextabhängiges Filtern beeinflusst. Dieses Feature verbirgt bestimmte Optionen oder zeigt sie an, abhängig von den Werten, die für andere zugehörige Optionen ausgewählt wurden. Dieses Feature sollte das Anpassen-Fenster übersichtlicher machen und die Verwaltung der Optionen vereinfachen.
Es ist jedoch nicht immer ganz einfach zu erkennen, welche Optionen oder Werte das kontextabhängige Filtern auslösen. Damit du sie leichter identifizieren kannst, werden hier alle Werte, die das kontextabhängige Filtern auslösen, in kursiver Schrift dargestellt. Es werden alle Optionen aufgelistet, auch die, die vom kontextabhängigen Filtern betroffen sind. Wird eine Option in Abhängigkeit von den festgelegten Werten bestimmter anderer Optionen angezeigt oder verborgen, wird dies in der Beschreibung dieser Option angemerkt.
Geräteoptionen
Dieses Gerät verfügt über einige grundlegende Funktionen. Beispielsweise kannst du die Sichtbarkeit des Schalters einstellen und festlegen, was der Spieler sieht, wenn er mit dem Schalter interagiert. Zusätzlich gibt es fortgeschrittene Optionen, die du verwenden kannst, wenn der Schalter seinen Zustand speichern soll.
Folgende Optionen können bei dem Gerät konfiguriert werden:
Standardwerte sind fettgedruckt. Werte mit kontextabhängigem Filtern sind kursiv geschrieben.
Option | Wert | Beschreibung |
---|---|---|
Bei Spielstart eingeschaltet | Nein, Ja | Bestimmt, ob das Gerät beim Start des Spiels eingeschaltet ist. Ausgeschaltete Geräte ignorieren alle Ereignisse abgesehen vom Einschalten des Geräts. |
Ausgangszustand | An, Aus | Dies ist der anfängliche Standardzustand des Schalters, wenn er noch von keinem anderen Zustand durch Spieler überschrieben wurde. |
Im Spiel sichtbar | Nein, Ja | Bestimmt, ob das Gerät im Spiel für Spieler sichtbar ist. |
Text bei Aktivierung | wählbarer Text | Bestimmt den Text, der angezeigt wird, wenn der Schalter auf die „An“-Position gebracht wird. Der Text kann maximal 150 Zeichen lang sein. |
Text bei Deaktivierung | wählbarer Text | Bestimmt den Text, der angezeigt wird, wenn der Schalter auf die „Aus“-Position gebracht wird. Der Text kann maximal 150 Zeichen lang sein. |
Gerätemodell | Standard, Antiker Hebel, Schalter, Standard (Unbeleuchtet), Antiker Hebel (Unbeleuchtet), Roter Knopf, Schaltkreiskiller, Uralter Hebel, Kästchen | Bestimmt, wie der Schalter aussieht. |
Sound | Eingeschaltet, Ausgeschaltet | Bestimmt, ob der Schalter ein Geräusch verursacht, wenn sein Zustand geändert wird (also von an/eingeschaltet zu aus/ausgeschaltet oder umgekehrt). |
Interaktion zulassen | Ja, Nein | Bestimmt, ob Spieler mit dem Gerät interagieren können. |
Interaktionszeit | Sofort, wählbare Zeit in Sekunden | Bestimmt, wie lange der Spieler mit dem Gerät interagieren muss, um das Gerät zu benutzen. |
Maximale Anzahl möglicher Änderungen | Nein, Ja | Bestimmt, ob begrenzt ist, wie oft das Gerät geändert werden kann. Wenn diese Option auf Ja gestellt ist, wird unter dieser Option noch eine weitere angezeigt. |
Mögliche Änderungen | 1, wählbarer Wert | Bestimmt, wie oft dieses Gerät geändert werden kann, bevor es ausgeschaltet wird. |
Unendliche Abklingzeit | Nein, Ja | Bestimmt die Abklingzeit zwischen Interaktionen mit dem Gerät. Bei Ja wird die Option Abklingzeitnicht unter dieser Option angezeigt. |
Abklingzeit | Sofort, wählbarer Wert in Sekunden | Diese Option wird nur angezeigt, wenn die Option Unendliche Abklingzeit auf An gestellt ist. Bestimmt die Abklingzeit zwischen Interaktionen. |
Erlaubte Klasse | Ohne Klasse, Jede, wählbare Klasse | Bestimmt, welche Klasse das Gerät benutzen kann. |
Aktivierendes Team | Jedes, wählbares Team | Bestimmt, welches Team das Gerät aktivieren kann. |
Interaktionsradius | 0, wählbarer Radius | Ermöglicht Spielern die Interaktion innerhalb eines festgelegten Radius, ohne direkt auf den Knopf oder in eine bestimmte Richtung schauen zu müssen. Verwende diese Option zusammen mit der ausgeschalteten Option Im Spiel sichtbar, um den Eindruck zu erwecken, dass die Spieler mit anderen Objekten interagieren. |
Status-Rücksetzzeit | Kein Zurücksetzen, wählbare Zeit | Bestimmt, wie lange es dauert, bis das Gerät in seinen Standardzustand zurückgesetzt wird. |
Gegenseitiger Ausschluss | Kein Ausschluss, wählbarer Wert | Wenn dieser Schalter auf An gestellt wird, werden alle anderen Schalter mit demselben „Gegenseitiger Ausschluss“-Filter ausgeschaltet. |
Zustand pro Spieler speichern | Ja, Nein | Ist dies auf Ja gestellt, erhält jeder Spieler seinen eigenen Schalterzustand. Ist dies auf Nein gestellt, haben alle Spieler denselben Schalterzustand. Ist dies auf Nein und die Option Fortbestand verwenden auf Verwenden gestellt, benutzt der Schalter die Option Konflikte auflösen, wenn der Zustand geladen werden soll. |
Fortbestand verwenden | Nicht verwenden, Verwenden | Bestimmt, ob dieses Gerät Daten aus dem Backend laden oder speichern soll. Wenn du Verwenden auswählst, werden zwei zusätzliche Optionen im Tab „Alle Optionen“ angezeigt. |
Automatisch speichern | Ja, Nein | Diese Option wird nur angezeigt, wenn bei der Option Fortbestand verwenden die Einstellung Verwenden gewählt wurde. Bestimmt, ob der Schalterzustand automatisch gespeichert wird, wenn er sich ändert. |
Automatisch laden | An, Aus | Diese Option wird nur angezeigt, wenn bei der Option Fortbestand verwenden die Einstellung Verwenden gewählt wurde. Bestimmt, ob der Schalterzustand automatisch bei Spielstart geladen wird oder ob dafür eine Event-Verbindung nötig ist. |
Konflikte auflösen | Erster Spieler, Mehrheit, Aktiviert priorisieren, Deaktiviert priorisieren | Diese Option wird nur angezeigt, wenn bei Fortbestand verwenden die Option Verwenden eingestellt ist. Bestimmt, was passiert, wenn der Zustand geladen wird, während „Zustand pro Spieler speichern“ auf „Nein“ gestellt ist. Werte für diese Option:
|
Zustand bei Spielstart überprüfen | Eingeschaltet, Ausgeschaltet | Bestimmt, ob der Schalter zu Spielstart seinen Zustand prüft, was die Events Wenn Prüfung „aktiviert“ ergibt oder Wenn Prüfung „deaktiviert“ ergibt auslöst. |
Schalterzustand überprüfen, wenn ausgeschaltet | Ja, Nein | Bestimmt, ob das Gerät seinen Status bei Spielstart überprüft, auch wenn es ausgeschaltet ist. |
System zum direkten Event-Verbinden
Das direkte Event-Verbinden ermöglicht die direkte Kommunikation zwischen Geräten, wodurch die Arbeit mit den Geräten intuitiver ausfällt und du mehr Freiheit hast, dich auf deine Designideen zu konzentrieren.
Untenstehend findest du die Funktionen und Events dieses Geräts.
Funktionen
Eine Funktion wartet auf ein Event eines Geräts und führt dann eine Aktion aus.
- Klicke zur Auswahl einer beliebigen Funktion auf die Option und dann auf Gerät auswählen, um auf das Geräte-Dropdown-Menü zuzugreifen und deine Auswahl zu treffen.
- Sobald du ein Gerät ausgewählt hast, klicke auf Event auswählen, um das Gerät und das Event zu verbinden, das die Funktion für das Gerät auslösen wird.
- Wenn eine Funktion durch mehr als ein Gerät oder Event ausgelöst wird, drücke die Hinzufügen-Schaltfläche, um eine Zeile hinzuzufügen, und wiederhole diese Schritte.
Option | Beschreibung |
---|---|
Einschalten bei Empfang von | Diese Funktion schaltet das Gerät ein, wenn ein Event ausgelöst wird. |
Ausschalten bei Empfang von | Diese Funktion schaltet das Gerät aus, wenn ein Event ausgelöst wird. |
Einschalten bei Empfang von | Diese Funktion schaltet den Schalter ein, wenn ein Event ausgelöst wird. |
Ausschalten bei Empfang von | Diese Funktion schaltet den Schalter aus, wenn ein Event ausgelöst wird. |
Zustand umschalten bei Empfang von | Diese Funktion schaltet den Zustand um, wenn ein Event ausgelöst wird. |
Zustand laden bei Empfang von | Diese Funktion lädt die Daten des Schalters, wenn ein Event ausgelöst wird. |
Zustand speichern bei Empfang von | Diese Funktion speichert die Daten des Schalters, wenn ein Event ausgelöst wird. |
Zustand überprüfen bei Empfang von | Diese Funktion überprüft den Zustand des Schalters, wenn ein Event ausgelöst wird. |
Fortbestehende Spielerdaten löschen bei Empfang von | Diese Funktion löscht die fortbestehenden Daten des auslösenden Spielers, wenn ein Event ausgelöst wird. |
Alle fortbestehenden Daten für alle Spieler löschen bei Empfang von | Diese Funktion löscht alle fortbestehenden Daten aller aktuellen Spieler, wenn ein Event ausgelöst wird. |
Zustand für alle speichern bei Empfang von | Diese Funktion speichert den Schalterzustand, wenn ein Event ausgelöst wird. |
Zustand für alle laden bei Empfang von | Diese Funktion lädt den Schalterzustand, wenn ein Event ausgelöst wird. |
Events
Das direkte Event-Verbinden nutzt Events als Sender. Ein Event sagt einem anderen Gerät, dass es eine Funktion ausführen soll.
- Klicke zur Auswahl einer beliebigen Event-Option auf die Option und dann auf Gerät auswählen, um auf das Geräte-Dropdown-Menü zuzugreifen und deine Auswahl zu treffen.
- Sobald du ein Gerät ausgewählt hast, klicke auf Funktion auswählen, um dieses Event und eine Funktion für das Gerät zu verbinden.
- Wenn ein Event mehr als eine Funktion auslöst, drücke die Hinzufügen-Schaltfläche, um eine Zeile hinzuzufügen, und wiederhole diese Schritte.
Option | Beschreibung |
---|---|
Wenn aktiviert Event senden an | Wenn der Schalter aktiviert wird, wird ein Event an das festgelegte Gerät gesendet, wodurch die festgelegte Funktion ausgelöst wird. |
Wenn deaktiviert Event senden an | Wenn der Schalter deaktiviert wird, wird ein Event an das festgelegte Gerät gesendet, wodurch die festgelegte Funktion ausgelöst wird. |
Wenn Prüfung „aktiviert“ ergibt | Wenn die Prüfung bei dem Schalter „aktiviert“ ergibt, wird ein Event an das festgelegte Gerät gesendet, wodurch die festgelegte Funktion ausgelöst wird. |
Wenn Prüfung „deaktiviert“ ergibt | Wenn die Prüfung bei dem Schalter „deaktiviert“ ergibt, wird ein Event an das festgelegte Gerät gesendet, wodurch die festgelegte Funktion ausgelöst wird. |
Wenn Zustandsspeicherung aktiviert Event senden an | Wenn der Zustand des Schalters gespeichert wird, wird ein Event an das festgelegte Gerät gesendet, wodurch die festgelegte Funktion ausgelöst wird. |
Bei Zustandswechsel Event senden an | Wenn der Zustand des Schalters geändert wird, wird ein Event an das festgelegte Gerät gesendet, wodurch die festgelegte Funktion ausgelöst wird. |
Bei Zustandsladung Event senden an | Wenn der Zustand des Schalters geladen wird, wird ein Event an das festgelegte Gerät gesendet, wodurch die festgelegte Funktion ausgelöst wird. |
Bei Löschung Event senden an | Wenn die fortbestehenden Daten gelöscht werden, wird ein Event an das festgelegte Gerät gesendet, wodurch die festgelegte Funktion ausgelöst wird. |
Schalter in Verse verwenden
Du kannst den folgenden Code in Verse verwenden, um ein Schalter-Gerät zu steuern. Dieser Code zeigt, wie man Events und Funktionen in der API des Schalter-Geräts verwendet. Du kannst ihn anpassen, um ihn perfekt auf dein Erlebnis abzustimmen.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# Ein in Verse erstelltes Kreativmodus-Gerät, das in einem Level platziert werden kann
switch_device_verse_example := class(creative_device):
# Bezug auf das Schalter-Gerät im Level.
# Stelle in der Detailübersicht für dieses Verse-Gerät
# bei dieser Eigenschaft dein Schalter-Gerät ein.
@editable
MySwitchDevice:switch_device = switch_device{}
# Lokalisierbare Nachrichten, mit denen du Text für Spieler festlegen kannst
TurnOnInteractionText<localizes>:message = "Individueller Text für Schalteraktivierung!"
# Wird ausgeführt, wenn das Gerät in einem laufenden Spiel gestartet wird
OnBegin<override>()<suspends>:void=
# Beispiel für das Abonnieren eines Events im Kreativmodus-Gerät.
# Bewirkt ein Signal, wenn der Schalterzustand geändert wird.
MySwitchDevice.StateChangesEvent.Subscribe(OnStateChanged)
# Bestimmt, dass der *Text bei Aktivierung* einem Nutzer angezeigt wird, wenn der Schalter derzeit deaktiviert ist, und bietet eine Interaktion für die Aktivierung. Begrenzt auf 150 Zeichen.
MySwitchDevice.SetTurnOnInteractionText(TurnOnInteractionText)
# Diese Funktion wird ausgeführt, wenn der Spieler den Schalter im Spiel aktiviert/deaktiviert, da sie ein Event-Handler für StateChangesEvent ist.
OnStateChanged():void=
Print("Zustand des Schalter-Geräts geändert.")
# Eine Abfrage, ob dieses Gerät über einen einheitlichen globalen Zustand (aktiviert/deaktiviert) oder einen personalisierten Zustand für jeden einzelnen Agenten verfügt.
if (MySwitchDevice.IsStatePerAgent[]):
Print("Zustand des Schalter-Geräts ist pro Agent festgelegt.")
# Dieses Beispiel iteriert über alle Spieler in dem Erlebnis, um zu zeigen, wie Vorgänge für einzelne Spieler auf dem Gerät ausgeführt werden können.
for (Player : GetPlayspace().GetPlayers()):
# Gibt den gegenwärtigen Zustand dieses Schalters wieder: true (aktiviert) oder false (deaktiviert). Nutze diesen „Overload“ von GetCurrentState, wenn die Option *Zustand pro Spieler speichern* bei diesem Gerät auf *Ja* gestellt ist.
if (MySwitchDevice.GetCurrentState[Player]):
Print("Aktueller Zustand ist aktiviert.")
else:
Print("Aktueller Zustand ist deaktiviert.")
else:
Print("Zustand des Schalter-Geräts ist nicht pro Agent festgelegt.")
# Gibt den gegenwärtigen Zustand dieses Schalters wieder: true (aktiviert) oder false (deaktiviert). Nutze diesen „Overload“ von GetCurrentState, wenn die Option *Zustand pro Spieler speichern* bei diesem Gerät auf *Nein* gestellt ist.
if (MySwitchDevice.GetCurrentState[]):
Print("Aktueller Zustand ist aktiviert.")
else:
Print("Aktueller Zustand ist deaktiviert.")
Um diesen Code in deinem UEFN-Erlebnis zu nutzen, führe die folgenden Schritte aus:
- Ziehe ein Schalter-Gerät auf deine Insel.
- Erstelle ein neues Verse-Gerät namens switch_device_verse_example. Für weitere Schritte siehe Erstelle dein eigenes Gerät mit Verse.
- Öffne switch_device_verse_example.verse in Visual Studio Code und füge den oben stehenden Code ein.
- Kompiliere deinen Code und ziehe dein mit Verse erstelltes Gerät auf deine Insel. Für weitere Schritte siehe Hinzufügen deines Verse-Geräts zu deinem Level.
- Füge deinem Verse-Gerät einen Bezug für das Schalter-Gerät auf deiner Insel hinzu. Für weitere Schritte siehe [Hinzufügen eines Verse-Bezugs zu einem Kreativmodus-Gerät in deinem Level] (https://dev.epicgames.com/documentation/en-us/uefn/customize-device-properties-in-verse#addingaversereferencetoacreativedeviceinyourlevel).
- Speichere dein Projekt und klicke auf Sitzung starten, um es zu testen.
Schalter-Gerät-Verse-API
Weitere Informationen zur Verwendung des Schalter-Geräts in Verse findest du in der API-Referenz des „Schalter-Geräts“.