Ereignissystem
Beschreibung
Das Ereignissystem ist für jede Studie unerlässlich. Es ist die Methode, mit der Sie Werte festlegen, die aufgezeichnet werden sollen, das Experiment voranbringen und Aufgaben erstellen. Benutzer können ein Ereignissystem erstellen, um die gesamte Funktionalität, Logik und Interaktionen in einer Aufgabe auszuführen. Ein Ereignis fungiert häufig als Vermittler zwischen Objekten und Variablen.
Das Ereignissystem besteht aus Triggern und Aktionen. Hier richten Sie Regeln ein, wie etwa "wenn dies geschieht" (Trigger), dann "tue dies" (Aktion). Zum Beispiel: Wenn ein Teilnehmer ein bestimmtes Bild anklickt (Trigger), dann zeige ein anderes, zufälliges Bild (Aktion).
Ereignisse erstellen - Übersicht
Ereignisse werden im Aufgaben-Editor unter dem Tab "Ereignisse" in der oberen rechten Ecke verwaltet. Neue Ereignisse können durch einen Klick auf + Frame Event
für Ereignisse, die in diesem Frame auftreten sollen, oder durch Klicken auf + Trial Event
, welches das Ereignis auf alle Frames anwendet, erstellt werden. Alle bestehenden Ereignisse werden in einer Listenansicht im rechten Seitenbereich angezeigt. Ereignisse werden auf Frame-Ebene definiert und können für jeden Frame separat/spezifisch oder dupliziert/das gleiche für jeden Frame über einen Versuch gemacht werden.
In jedem Fall wird ein Ereignis immer für alle Versuche innerhalb einer Versuchsgruppe für die angegebenen Frame(s) definiert. Allerdings erlaubt eine benutzerdefinierte Logik den Benutzern, Ereignisse nur in bestimmten Versuchen, Bedingungen oder unter anderen Umständen auszuführen.
Das folgende Video gibt einen Überblick über die in Labvanced verfügbaren Trigger und Aktionen:
Die Ausführungsreihenfolge der Ereignisse kann angepasst werden. Standardmäßig befinden sich Ereignisse mit dem gleichen Trigger weiter oben in der Liste und werden zuerst ausgeführt. Ereignisse können auch kopiert und gelöscht werden. Beim Auswählen eines bestehenden Ereignisses werden die Einzelheiten im rechten unteren Bereich (Ereigniseigenschaften) angezeigt. Zur besseren Übersicht können bestehende Ereignisse auch erneut geöffnet werden (Symbol neben dem Namensfeld).
Trigger
Der Trigger definiert, wann das Ereignis ausgelöst wird. Dies könnte ein Mausklick auf ein bestimmtes Objekt, eine bestimmte Tastatureingabe, eine Änderung einer Variablen, der Start einer Videodatei oder viele andere Dinge sein. Alle Trigger und ihre Einstellungen/Parameter werden in der folgenden Liste erklärt:
Triggerkategorie | Triggeroptionen | Beschreibung |
---|---|---|
Benutzereingabe-Trigger | Benutzereingabe-Trigger beziehen sich auf jeden Trigger, der manuell durch den Benutzer/Teilnehmer aktiviert werden kann, indem er etwas wie die Maus bewegt, auf ein Tastenelement klickt, scrollt usw. | |
Physiologische Signal-Trigger | Physiologische Signal-Trigger treten auf, wenn ein spezifizierter physiologischer Input vorliegt, wie etwa das Ansehen eines bestimmten Elements oder Veränderungen in Kopfbewegungen. | |
Versuchs- und Frame-Trigger | Diese Trigger betreffen die experimentellen Versuche und Frames, beispielsweise wenn ein Frame beginnt oder endet. | |
Änderung des Variablenwerts-Trigger | Variable (Wert geändert) | Ein Trigger für das Ereignis tritt auf, wenn es eine Änderung eines bestimmten Variablenwerts gibt. |
Medienobjekt-Trigger | Medienobjekt-Trigger | Dieser Trigger tritt im Zusammenhang mit Medienobjekten auf, beispielsweise wenn es eine Pause in einer Video-/Audiodatei gibt, eine Aufnahme beendet ist usw. |
API-Trigger | Diese Trigger treten auf, wenn es Daten von einer API gibt. | |
Globale Trigger | Globale Trigger beziehen sich auf größere Änderungen an einem Experiment, wie etwa das Pausieren oder das Verlassen eines Teilnehmers in einer Multiuser-Studie. |
Benutzereingabe-Trigger
Benutzereingabe-Trigger beziehen sich auf jeden Trigger, der manuell durch den Benutzer/Teilnehmer aktiviert werden kann.
Die folgende Tabelle bietet einen einführenden Überblick über alle in Labvanced verfügbaren Benutzereingabe-Trigger. Jeder von ihnen wird in den kommenden Abschnitten detaillierter beschrieben.
Option für Benutzereingabe-Trigger | Überblick |
---|---|
Maus-Trigger | Jede Mausbewegung kann als Trigger verwendet werden, um ein Ereignis zu initiieren, wie etwa: scrollen, klicken, überfahren usw. Sie können auch spezifische Elemente oder Ziele mit einem Trigger verknüpfen. Zum Beispiel wird ein Mausklick nur als Trigger verwendet, wenn ein bestimmtes Bild angeklickt wird. |
Tastatur-Trigger | Jeder Tastendruck kann als Trigger verwendet werden, um ein Ereignis zu initiieren. Sie können spezifische Buchstaben oder Zahlen der Tastatur als Trigger festlegen. |
Button-Klicks | Schaltflächenobjekte, die in Labvanced erstellt wurden, können als Trigger verwendet werden, um Ereignisse zu initiieren. |
Enter bei Eingabe | Dieser Trigger wird häufig verwendet, wenn ein Teilnehmer während eines Experiments die 'Enter'-Taste drückt, um seine schriftliche Antwort oder Eingabe in Textfeldbereichen zu übermitteln. |
Scroll-Trigger | Dieser Trigger tritt auf, wenn der Teilnehmer scrollt. Sie können die x- oder y-Richtungen des Scrollens sowie über welche Elemente der Scroll erfolgt, festlegen, um als Ereignis-Trigger verwendet zu werden. |
Gamepad / Joystick-Trigger | Dieser Trigger ermöglicht es Ihnen, Gamepad- und Joystick-Controller in Ihrem experimentellen Design als Eingabegerät zur Datenerfassung zu nutzen. |
Maus-Trigger
Die Option 'Maus-Trigger' ist ein sehr beliebter Ereignis-Trigger, da sie ein Ereignis basierend auf jeder Mausinteraktion auslöst, wie etwa: die Maus nach oben/unten bewegen, klicken, über ein bestimmtes Objekt fahren, ein bestimmtes Objekt verlassen oder jede Bewegung im Allgemeinen!
Das folgende Beispiel zeigt einen 'Maus-Trigger', der auftritt, wenn ein 'Klick' durch den 'Linken' Mausklick auf das 'Ziel'-Objekt namens 'Image_1' ausgeführt wird:
Hier ist eine vollständige Übersicht über die Optionen, die Sie bei der Arbeit mit Maus-Triggern haben:
Menüelement | Menübereich | Optionen und Spezifikationen für Maus-Trigger |
---|---|---|
Aktion Drop-down-Liste: | Die folgenden Maus-Trigger-Optionen sind aus der Dropdown-Liste verfügbar:
| |
Schaltfläche Drop-down-Liste: |
| |
Ziele Optionen: | Im obigen Beispiel ist 'Image_1' das Ziel des Mausklicks, der das Ereignis auslösen wird. Mehrere Ziele können hinzugefügt werden, indem Sie die ' + Ziel hinzufügen' Option am Ende anwählen. | Bei der Festlegung eines Ziels stehen die folgenden Optionen zur Verfügung:
|
- Hinweis: Nachdem Sie den Maus-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Mauswerte in verschiedenen Aktionen mit dem Wert-Auswahlmenü zu verwenden und darauf zuzugreifen.
Tastatur-Trigger
Die Option 'Tastatur-Trigger' ist eine weitere beliebte Methode, um ein Ereignis auszulösen. Grundsätzlich kann jede Eingabe von der Tastatur als Trigger verwendet werden. Dies umfasst: das Drücken, Halten oder Loslassen einer Taste.
Im folgenden Beispiel wird der Trigger so eingestellt, dass er bei Drücken bestimmter Zielnummern (0, 2 oder 6) auftritt:
Hier ist eine vollständige Übersicht über Tasten und Optionen, die Sie bei der Arbeit mit Tastatur-Triggern haben:
Menüelement | Menübereich | Optionen für Tastatur-Trigger |
---|---|---|
Aktion Drop-down-Liste: | Dies sind die verfügbaren Optionen für Tastaturaktionen:
| |
Tasten welche Taste das Ereignis auslöst | Welche Taste als Trigger verwendet wird, wird hier festgelegt, indem die Optionen ausgewählt werden, indem Sie +Hinzufügen: auswählen
+Hinzufügen: Schaltfläche erneut klicken | |
Zusätzliche Optionen | Die Option Tasteneingabedaten aktivieren erlaubt es, die Tasten im Ziffernblock als Trigger innerhalb des Experiments zu verwenden. Für die Option Ereignisse propagieren erlauben, wenn mehrere Ereignisse den gleichen Tastatur-Trigger haben, dann werden alle ohne diese "ausgelöst". Nur das erste wird ausgelöst und die Ausführung des Ereignisses wird gestoppt, nachdem das erste Ereignis abgeschlossen ist. |
- Hinweis: Nachdem Sie den Tastatur-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Tastaturwerte in verschiedenen Aktionen mit dem Wert-Auswahlmenü zu verwenden und darauf zuzugreifen.
Button-Klick-Trigger
Wenn Sie ein Schaltflächen- oder Navigationsobjekt im Editor platziert haben, können Sie diese als Teil eines Ereignisses verwenden, bei dem ein Klicken auf die Schaltfläche als Trigger für eine Aktion fungiert.
Ein Klick auf diesen Trigger zeigt das folgende Menü, in dem Sie angeben können, welche spezifische Schaltfläche als Trigger fungieren wird:
Hier ist ein genauerer Blick auf die vorgestellten Elemente:
Menüelement | Menübereich | Optionen für Button-Klick-Trigger |
---|---|---|
Ziel: +Ziel festlegen | Auswahl eines Schaltflächenelements als Ziel | |
Schaltfläche: Option | Bestimmen Sie, welche spezifische Schaltfläche im Frame verwendet wird |
- Hinweis: Nachdem Sie den Button-Klick-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Button-Klick-Werte in verschiedenen Aktionen mit dem Wert-Auswahlmenü zu verwenden und darauf zuzugreifen.
Enter bei Eingabe-Trigger
Trigger bei: Die Enter-/Return-Taste wird gedrückt, während ein bestimmtes Element aktiv ist.
Parameter:
Ziele hinzufügen: Fügen Sie ein Eingabeelement zum Ereignis hinzu.
Hinweis: Nachdem Sie den Enter bei Eingabe-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Enter-bei-Eingabe-Werte in verschiedenen Aktionen mit dem Wert-Auswahlmenü zu verwenden und darauf zuzugreifen.
Scroll-Trigger
Trigger bei: Die Scrollleiste, das Scrollen auf dem Trackpad oder das Scrollrad der Maus wird auf einem bestimmten Element verwendet.
Parameter:
- Wählen Sie, ob das Scrollen auf der Y-Achse oder der X-Achse erfolgt (vertikales Scrollen oder horizontales Scrollen).
Ziel: Setzen Sie das Ziel-Element, auf das der Scroll-Trigger angewendet wird.
Hinweis: Für langen Text müssen im Panel 'Objekteigenschaften' unter dem Abschnitt 'Stil' die Optionen Overflow-X
und/oder Overflow-Y
'Scrollen' als Option ausgewählt haben.
- Hinweis: Nachdem Sie den Scroll-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Scrollwerte in verschiedenen Aktionen mit dem Wert-Auswahlmenü zu verwenden und darauf zuzugreifen.
Gamepad / Joystick-Trigger
Der Gamepad / Joystick-Trigger
ermöglicht es Ihnen, Gamepad- und Joystick-Controller in Ihrem experimentellen Design als Eingabegerät für die Datenerfassung zu verwenden. Hinweis: Stellen Sie sicher, dass Sie diese Option unter dem Tab Studieneinstellungen in der Spalte „Experimentmerkmale“ aktivieren.
Nach Auswahl dieses Triggers erscheint das folgende Dialogfeld.
Beim Verbinden Ihres Gamepads können Sie angeben, welche spezifischen Tasten als Trigger verwendet werden sollen. Nach Drücken der bestimmten Taste zeigt das System deren ID an.
Im folgenden Beispiel bezieht sich die 2
auf die ◎ Taste und 3
bezieht sich auf die ▵ Taste. Hinweis: Es ist wichtig zu erwähnen, dass es einige Unterschiede zwischen Gamepads gibt, wie die Tasten-ID-Zuweisung funktioniert.
Als Ergebnis des Drückens einer Taste erscheinen die Live-Daten auch in der zweiten Hälfte dieses Trigger-Dialogfeldes, wo Sie sehen können, wie sich die Werte in Echtzeit basierend auf dem, was Sie drücken oder loslassen, ändern:
Schauen Sie sich diesen Überblick für weitere Details und ein Beispiel für eine Studie an, die diesen Trigger verwendet.
Die folgende Tabelle erläutert diese Optionen ausführlicher.
Menüelement | Menübereich | Optionen für Gamepad / Joystick-Trigger |
---|---|---|
Auf Tasten hören | I.) Geben Sie an, dass der Trigger tastenbezogen ist und ob er beim Drücken, Halten oder Loslassen der Taste ausgelöst wird. II.) Geben Sie an, ob der Trigger für jede Taste oder eine spezifische Taste gilt. Wenn die spezifische Option gewählt wird, werden Sie aufgefordert, die Taste(n) auf Ihrem Gamepad zu drücken. | |
Auf Achsen hören | Wenn Achsenbewegungen erforderlich sind, können Sie angeben, dass der Trigger ausgelöst wird, wann immer der Schwellenwert um einen bestimmten Wert geändert wird. Der Standardwert beträgt 0,01. | |
Verbindungsstatus | Gibt an, ob ein Gerät verbunden ist oder nicht. | |
Live-Datenstrom | Beim Verbinden des Geräts und Drücken einer Taste oder Bewegen einer Achse werden die Live-Daten angezeigt, wobei jede Eingabe, die Sie im Gerät vornehmen, hier angezeigt wird. Dies ist nützlich zum Testen beim Einrichten Ihrer Studie und um zu entscheiden, welche Tasten oder Achsen Sie nutzen möchten. |
Hinweis: Nachdem Sie den Gamepad / Joystick-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Werte in mehreren Aktionen mit dem Wert-Auswahlmenü zu verwenden und darauf zuzugreifen.
Physiologische Signal-Trigger
Diese Trigger gelten nur, wenn Eyetracking und/oder Headtracking für die Aufgabe aktiviert wurden.
Eyetracking-Blick-Trigger
Trigger bei:
- Insgesamt tritt dieser Trigger auf, wenn Eyetracking aktiviert wurde.
- Auslösen nur beim Ansehen spezifischer Elemente
Parameter:
Wenn Sie ausgewählt haben, dass nur Trigger bei bestimmten Elementen erfolgen, fügen Sie diese Elemente als Ziele hinzu.
Hinweis: Nachdem Sie den Eyetracking-Blick-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Blickwerte in verschiedenen Aktionen mit dem Wert-Auswahlmenü zu verwenden und darauf zuzugreifen.
Eyetracking-Fixation-Trigger
Dieser Trigger befindet sich noch in der BETA-Phase.
- Hinweis: Nachdem Sie den Tastatur-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Fixierungswerte in verschiedenen Aktionen mit dem Wert-Auswahlmenü zu verwenden und darauf zuzugreifen.
Headtracking-Trigger
Trigger bei:
Änderungen in der Kopfhaltung oder Kopfbewegung.
Hinweis: Nachdem Sie den Headtracking-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Headtracking-Werte in verschiedenen Aktionen mit dem Wert-Auswahlmenü zu verwenden und darauf zuzugreifen.
Versuchs- und Frame-Trigger
Aufgabeninitialisierung-Trigger
Trigger bei:
- Der erste Frame des ersten Versuchs einer Aufgabe. Wird nur einmal pro Aufgabe ausgeführt, obwohl er im Tab "Ereignisse" für alle Instanzen dieses Frames angezeigt wird.
Dieser Trigger passt gut zu den Aktionen Shuffle und Read From. Mit diesen Kombinationen können Sie Array-Einträge oder Daten-Frames zu Beginn der Aufgabe mischen und Probanden Gruppen von Stimuli zuweisen, ohne mehrere Ereignisse erstellen zu müssen, um Stimuli oder Daten auszulesen.
Parameter: Keine
- Hinweis: Nachdem Sie den Aufgabeninitialisierung-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Werte zur Aufgabeninitialisierung in verschiedenen Aktionen mit dem Wert-Auswahlmenü zu verwenden und darauf zuzugreifen.
Frame-Initialisierungs-Trigger
Trigger bei:
- Die Initialisierung des Frames, bevor er für den Teilnehmer sichtbar wird.
Dieser Trigger kombiniert gut mit den Aktionen Shuffle, Read From und Draw Random Number. Mit diesen Kombinationen können diese Aktionen abgeschlossen werden, bevor der Frame erscheint, sodass ein klarer Weg für andere Aktionen besteht, um zu beginnen, wenn der Frame startet.
Hinweis: Verwenden Sie den Frame-Initialisierungs-Trigger nicht mit Ereignissen, die eine Variable aufzeichnen oder die Systemvariablen wie die Versuchsnummer oder die Bedingungsnummer betreffen. Dies liegt daran, dass der Frame-Initialisierungs-Trigger zwischen den Versuchen auftritt, sodass die Anzahl der bevorstehenden Anzeige des Versuchs oder der Bedingung nicht vollständig genau ist.
Parameter: Keine
- Hinweis: Nachdem Sie den Frame-Initialisierungs-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Werte zur Frame-Initialisierung in verschiedenen Aktionen mit dem Wert-Auswahlmenü zu verwenden und darauf zuzugreifen.
Hinweis zu Aufgaben- und Frame-Initialisierungs-Triggern: Da die Aufgaben- und Frame-Initialisierungs-Trigger auftreten, bevor die Aufgabe oder der Frame beginnt, werden während dieser Zeit erstellte Variablen zurückgesetzt, wenn die Aufgabe/frame tatsächlich startet. Eine Warnung wird angezeigt, wenn Sie dieses Ereignis verwenden:
Denken Sie daran, das Kontrollkästchen "Zurücksetzen beim Versuchsbeginn" im Fenster der Variablen Eigenschaften zu deaktivieren, wenn Sie nicht möchten, dass die Variablenwerte zurückgesetzt werden.
Frame-Start-Trigger
Trigger bei:
- Beginn des Frames
Parameter: Keine
- Hinweis: Nachdem Sie den Frame-Start-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Werte zum Frame-Start in verschiedenen Aktionen mit dem Wert-Auswahlmenü zu verwenden und darauf zuzugreifen.
Frame-Ende-Trigger
Trigger bei:
- Ende des Frames (nachdem der Frame nicht mehr sichtbar ist)
Parameter: Keine
- Hinweis: Nachdem Sie den Frame-Ende-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Werte zum Frame-Ende in verschiedenen Aktionen mit dem Wert-Auswahlmenü zu verwenden und darauf zuzugreifen.
Änderung des Variablenwerts-Trigger
Änderung des Variablenwerts
Trigger bei:
- Der Wert einer Variablen ändert sich von seinem Ausgangswert
Parameter:
Variablen: Wählen Sie eine oder mehrere Variablen aus, bei denen Sie Änderungen "abhören" möchten. Jede Änderung des Wertes dieser Variablen löst sofort die entsprechende Aktion aus.
Hinweis: Nachdem Sie den Trigger zur Änderung des Variablenwerts im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Werte zur Änderung des Variablenwerts in verschiedenen Aktionen mit dem Wert-Auswahlmenü zu verwenden und darauf zuzugreifen.
Medienobjekt-Trigger
Medienobjekt-Trigger
Früher bekannt als der separate "Audio/Video-Steuerung-Trigger" und "Objekt-Steuerung"-Trigger.
Trigger bei:
- Start, Pause oder Stopp einer Video- oder Audiodatei
- Abschluss des Dateiuploads, ausgewählte Datei, abgeschlossene Aufnahme eines Aufnahmeobjekts
- Abschluss eines Schnappschuss oder Abschluss des Hochladens eines Kamera-Schnappschussobjekts
Parameter:
Ziel: Wählen Sie ein Objekt-Element aus, das im Frame existiert
Ausführen bei: Wählen Sie den Untertyp des Triggers aus
- Audio- oder Videoobjektoptionen:
- Wiedergabe gestartet: Löst aus, wenn das Element zu spielen beginnt
- Wiedergabe gestoppt: Löst aus, wenn das Element pausiert
- Wiedergabe beendet: Löst aus, wenn das Element aufhört zu spielen
- Video-, Audio- oder Bildschirmaufzeichnungsobjektoptionen:
- Aufnahme abgeschlossen: Löst aus, wenn die Audioaufnahme gestoppt wurde
- Hochladen abgeschlossen: Löst aus, wenn der Dateiupload abgeschlossen ist
- Dateiupload-Objektoptionen:
- Datei ausgewählt: Löst aus, wenn eine Datei ausgewählt wird
- Hochladen abgeschlossen: Löst aus, wenn der Dateiupload abgeschlossen ist
- Kamera-Schnappschuss-Objektoptionen:
- Schnappschuss abgeschlossen: Löst aus, wenn die Kamera erfolgreich einen Schnappschuss gemacht hat
- Hochladen abgeschlossen: Löst aus, wenn der Schnappschuss hochgeladen ist
- Audio- oder Videoobjektoptionen:
Hinweis: Nachdem Sie den Medienobjekt-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Medienobjektwerte in verschiedenen Aktionen mit dem Wert-Auswahlmenü zu verwenden und darauf zuzugreifen.
API-Trigger
Wenn Sie Daten von einem externen Server in Labvanced senden oder kommunizieren müssen, können „API-Trigger“ und „API-Aktionen“ verwendet werden. Folgendes kann als Trigger verwendet werden:
- Websocket-Trigger
- OpenAI-Trigger
Websocket-Trigger
Der Websocket-Trigger wird verwendet, wenn eine Nachricht vom Websocket/API empfangen und als Trigger für die Aktion verarbeitet wird.
Nach dem Klicken auf diese Option erscheinen die folgenden Elemente.
- Akzeptieren/Empfangen von: Erkennt automatisch die IP-Adresse des lokalen Hosts. Kann manuell im Tab „Studieneinstellungen“ unter der Spalte „Experimentmerkmale“ geändert werden.
- Trigger/Nachricht: Geben Sie die Nachricht ein, die als Trigger dient. Geben Sie 'beliebig' ein, um mehr als eine Nachricht als Trigger zu akzeptieren.
Im Beispiel, wie API-Trigger/Aktionen verwendet werden, überprüfen Sie diese Demo https://www.labvanced.com/page/library/51053, indem Sie die Option "Prüfen" im Dialogfeld auswählen.
Für weitere Informationen über den API-Zugriff besuchen Sie bitte diese Seite.
- Hinweis: Nachdem Sie den Websocket-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Websocket-Werte in verschiedenen Aktionen mit dem Wert-Auswahlmenü zu verwenden und darauf zuzugreifen.
OpenAI-Trigger
Der „OpenAI-Trigger“ kann verwendet werden, um eine Aktion basierend auf eingehenden Informationen von OpenAI zu initiieren.
Wenn Sie diese Option auswählen, werden die folgenden Parameter angezeigt:
HINWEIS: Verweisen Sie auch auf diesen Überblick, in dem wir eine Studie Schritt für Schritt erstellen und ChatGPT in eine Studie integrieren und diesen Trigger verwenden.
Im folgenden Beispiel wird der Datenrahmen, der zugewiesen wurde, als 'df' bezeichnet und das Ergebnis des 'OpenAI-Triggers' wird diesem Datenrahmen hinzugefügt. Dieser Datenrahmen muss zwei Spalten haben. Die erste Spalte gibt die 'Rolle' an und die zweite Spalte die 'Chat-Nachricht.' Die Werte aus der Aktion werden automatisch an den hier verknüpften Datenrahmen angehängt.
Wenn Sie auch die „Send to OpenAI“-Aktion verwenden, müssen Sie denselben Datenrahmen dort verwenden, den Sie hier angegeben haben.
- Hinweis: Nachdem Sie den OpenAI-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische OpenAI-Werte in verschiedenen Aktionen mit dem Wert-Auswahlmenü zu verwenden und darauf zuzugreifen.
Globale Trigger
Globale Trigger treten immer dann auf, wenn eine große Änderung im Experiment erfolgt, d.h. etwas, das 'global' ist, wie das Pausieren des Experiments oder das Verlassen eines Teilnehmers in einer Multiuser-Studie! Die folgenden Optionen werden als globale Trigger aufgelistet:
- Experiment pausieren / wieder aufnehmen
- Teilnehmer hat die Multiuser-Studie verlassen
Experiment pausieren/wieder aufnehmen
Der Trigger „Pause / Wiederaufnahme des Experiments“ ist eine Option, die es Ihnen ermöglicht, ein Ereignis basierend auf der Pause oder Wiederaufnahme des Experiments auszuführen.
Nach Auswahl dieses Triggers erscheint die folgende Ansicht, in der Sie die Art des Triggers weiter spezifizieren können, ob er ausgeführt werden soll, wenn das Experiment pausiert oder fortgesetzt/wieder aufgenommen wird:
Experiment pausiert: Der Teilnehmer pausiert (verlässt den Vollbildmodus) die Studie.
Experiment fortgesetzt: Der Teilnehmer setzt die Studie fort. Dieser Trigger funktioniert gut für Studien mit Eyetracking. Er kann verwendet werden, um den Teilnehmer zurück zu einem vorherigen Versuch oder Frame zu bringen, wenn er seinen virtuellen Kinnhalter verlassen hat.
Hinweis: Nachdem Sie den Trigger „Experiment pausieren/wieder aufnehmen“ im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Werte in verschiedenen Aktionen mit dem Wert-Auswahlmenü zu verwenden und darauf zuzugreifen.
Teilnehmer hat die Multiuser-Studie verlassen
Wenn ein Teilnehmer eine Multiuser-Studie verlässt, kann dies auch als Trigger für ein Ereignis verwendet werden. Das Verlassen eines Teilnehmers in einer Multiuser-Studie hat auch globale Konsequenzen, da es anderen Teilnehmern nicht erlaubt, das Experiment fortzusetzen.
Durch Auswahl dieses Triggers können Sie angeben, welche Art von Aktion passieren soll, wenn ein Teilnehmer die Multiuser-Studie verlässt.
- Hinweis: Nachdem Sie den Trigger „Teilnehmer hat die Multiuser-Studie verlassen“ im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Werte in verschiedenen Aktionen mit dem Wert-Auswahlmenü zu verwenden und darauf zuzugreifen.
Aktionen
Aktionen definieren, was geschehen soll, wenn das Ereignis ausgeführt wird. Sie können verwendet werden, um Variablen und Objekteigenschaften zu ändern, Daten aufzuzeichnen, Daten aus Arrays zu lesen und zu schreiben oder zu dem nächsten Versuch oder der nächsten Aufgabe zu springen. Oft gibt es mehrere Aktionen pro Ereignis. Mit "ControlActions" können logische Operationen (If-Else-Anweisungen), Schleifen, Rückruffunktionen sowie das Verschachteln von Aktionen innerhalb anderer Aktionen verwendet werden (z. B. eine While-Schleife innerhalb einer If-Anweisung). Daher kann das Ereignissystem als eine grafische Programmierumgebung betrachtet werden. In dieser Sichtweise fungieren Trigger als Funktionsaufrufe, während Aktionen die funktionale Logik beschreiben. Dieser Ansatz gewährleistet, dass nahezu jede experimentelle Logik implementiert werden kann, ohne bestimmte programmatische/syntaktische Strukturen verwenden zu müssen.
Die folgende Tabelle bietet einen einführenden Überblick über die in Labvanced verfügbaren Aktionen:
Aktionenkategorie | Aktionsoptionen | Beschreibung |
---|---|---|
Objekt-Aktionen | Objektaktionen beziehen sich auf jede Manipulation, die an einem Objekt erfolgt, das innerhalb der Aufgabe existiert. | |
Variablen-Aktionen | Jede Aktion, die von einer Variable liest oder einen Variablenwert aufzeichnet. | |
Array-Aktionen | Array-Operationen umfassen das Auswählen, Hinzufügen, Entfernen, Ändern und Mischen von Arrays und deren Einträgen. | |
Datenrahmen-Operationen | Diese Aktionen sind relevant, wenn Sie mit .csv-Dateien (Datenrahmen) in Ihrem Experiment arbeiten. | |
Sprung-Aktionen | Erlaubt Ihnen, im Experiment zu navigieren, indem Sie zu einem bestimmten Abschnitt springen, sowie Teilnehmerabschnitte zu akzeptieren und abzulehnen. | |
Steuerungs-Aktionen | Steuerungsaktionen werden verwendet, um spezifische Sequenzen von Ereignissen auszuführen, wie If/Then-Logik, Schleifen (wie das wiederholte Abspielen eines Sounds oder das Blitzen eines Bildes) sowie das Einrichten einer Verzögerung für das Eintreten einer Aktion. | |
API-Aktionen | Bezieht sich auf API-spezifische Aktionen, um Daten an eine API zu senden. | |
Code-Aktionen | Code-Aktionen ermöglichen es Ihnen, mit JavaScript oder CSS zu arbeiten. | |
Einfüge-Aktion | Einfüge-Aktion | Erlaubt es Ihnen, eine zuvor kopierte Aktion einzufügen. |
Objektaktionen
Objektaktionen beziehen sich auf jede Manipulation, die an einem Objekt innerhalb der Aufgabe erfolgt. Es gibt mehrere Optionen für Objektaktionen:
- Objektproperty setzen
- Medienobjekt steuern
- Objekt kopieren
- Für jedes Objekt
Objektproperty setzen Aktion
Mit der Aktion „Objektproperty setzen“ können Sie das Erscheinungsbild eines Objekts nach Ihren Wünschen ändern, indem Sie das betreffende Objekt, die zu ändernde Eigenschaft und den neuen Wert angeben.
Im folgenden Beispiel wird die Aktion zwei Eigenschaften des Zielbildes ändern, indem die „Sichtbarkeit“ auf „1“ und die „Höhe“ auf „400“ gesetzt wird, während die Zeit, zu der diese Änderung auf dem Bildschirm erfolgt, in der numerischen Variablen namens „Object_Prop_Change_Time“ gespeichert wird.
Nachfolgend finden Sie einen vollständigen Überblick über die Felder, die Sie bei der Arbeit mit der Aktion „Objektproperty setzen“ antreffen:
Menüelement | Menübereich | Optionen für die Auslöser der Objektproperty setzen Aktion |
---|---|---|
Ziel Objekt Auswahl-Dropdown-Liste: | Die erste Dropdown-Liste zeigt die Objekte an, die Sie in diesem Bild haben, aus denen Sie auswählen können. Dies zeigt an, auf welches spezifische Objekt die Aktion angewendet wird. | |
Ziel Eigenschaft Auswahl-Dropdown-Liste: | Das zweite Dropdown-Menü gibt an, welche Eigenschaft des Objekts geändert werden soll. Für eine vollständige Erklärung der verfügbaren Optionen und ihrer Parameter siehe die Objekteigenschaften-Tabelle. | |
Wertauswahlmenü | Definieren Sie den neuen Wert, d.h. was der Wert der neuen Objekteigenschaft als Ergebnis der Aktion unter Verwendung des Wertauswahlmenüs sein sollte. | |
‘+ Eigenschaft hinzufügen’ | Mehrere Eigenschaften können unter der Aktion hinzugefügt und geändert werden, indem Sie auf dieses Symbol klicken. | |
Checkbox - Zeit erfassen, wenn diese Änderung auf dem Bildschirm sichtbar wird (gemessen in Millisekunden ab Beginn des Frames). | Wenn eine Eigenschaft geändert wird, dauert es einen kurzen Zeitraum (ca. ~10 ms), bis die Änderungen sichtbar sind. Mit dieser Option können Sie die Zeit genauer aufzeichnen, zu der die geänderte Eigenschaft wirklich beim nächsten Bildschirm-Refresh sichtbar ist. Hinweis: Wenn Sie diese Option auswählen, wird ein Dialogfeld angezeigt, das Sie auffordert anzugeben (oder eine neue Variable zu erstellen), wo dieser erfasste Wert gespeichert werden soll. Die Variable sollte vom Datentyp „numerisch“ sein. |
Medienobjekt steuern Aktion
Ehemals die separaten „Audio/Video steuern“ und „Objekt steuern“ Aktionen.
Wirkung: Ändert die Wiedergabe von Video-/Audioelementen oder ändert den Zustand von Upload-/Aufzeichnungselementen.
Parameter:
- Ziel: Wählen Sie ein Medienobjekt aus
- Effekt: Wählen Sie eine Unteraktion
- Audio- oder Videoobjektoptionen:
- Wiedergabe starten: Beginnt mit der Wiedergabe der Video-/Audio-Datei
- Wiedergabe stoppen: Stoppt die Video-/Audio-Datei
- Wiedergabe pausieren: Pausiert die Video-/Audio-Datei
- JumpToTime: Ermöglicht die Angabe einer Zeit in Millisekunden, zu der in der Audio-/Videodatei gesprungen werden soll
- Stummschalten: Schaltet den Ton des Objekts aus
- Ton wiederherstellen: Stellt den Ton des Objekts wieder her
- Audio-, Video- oder Bildschirmaufnahmeobjektoptionen:
- Aufnahme starten: Beginnt mit einer neuen (Audio) Aufnahme
- Aufnahme stoppen: Stoppt die (Audio) Aufnahme
- Upload starten: Beginnt mit dem Hochladen der Datei
- Aufnahme löschen: Löscht die Daten der (Audio) Aufnahme.
- Wiedergabe starten: Beginnt mit der Wiedergabe der gespeicherten Datei
- Wiedergabe stoppen: Stoppt die Wiedergabe der gespeicherten Datei
- Aufnahme pausieren: Pausiert die Aufnahme des Objekts
- Aufnahme fortsetzen: Setzt die Aufnahme des Objekts fort
- Datei-Upload-Objektoptionen:
- Upload starten: Startet den Upload-Vorgang für die ausgewählte Datei
- Datei löschen: Löscht die ausgewählte Datei
- Datei wählen: Ermöglicht dem Teilnehmer die Auswahl der gewünschten Datei
- Kamera-Snapshot-Objektoptionen:
- Kamera starten: Schaltet die Kamera des Teilnehmers ein
- Kamera stoppen: Schaltet die Kamera des Teilnehmers aus
- Upload starten: Beginnt mit dem Hochladen des Schnappschusses in das Experiment
- Snapshot erstellen: Macht ein Bild mit der Kamera des Teilnehmers
- Audio- oder Videoobjektoptionen:
Objekt kopieren Aktion
Wirkung: Kopiert ein Objekt und ersetzt die Notwendigkeit mehrerer separater Objekte und doppelter Ereignisse.
Parameter:
- Quelle: Wählen Sie das Objekt im Frame aus, das kopiert werden soll.
- Anzahl der Kopien: Geben Sie die Anzahl der zu erstellenden Kopien des Quellobjekts ein.
- Neuen Elementnamen festlegen: Wählen Sie aus mehreren Parametern, um die Namen der Kopien zu bestimmen.
- Name mit inkrementierendem Postfix zuweisen: Fügt dem Ende des neuen Elementnamens ein numerisches Tag hinzu, um die Kopien zu unterscheiden.
- Aktionssequenz: Ermöglicht Ihnen die Auswahl (aus der üblichen Liste von Aktionen), was mit den Kopien geschehen soll. Wählen Sie „CurrentObject“ als Ziel aus, um die Aktion auf alle Kopien anzuwenden.
Für jedes Objekt Aktion
Wirkung: Wendet eine Aktion auf mehrere Objekte desselben Typs an.
Parameter:
- Filter: Wählen Sie den Typ des Elements, auf das abzuzielen.
- Zusätzlichen Namensfilter zulassen: Geben Sie den Namen des/der zuzielenden Objekte an. Für mehrere Objekte in einem Frame, bei denen einige identische Namen haben, funktioniert das gut.
- Aktionssequenz: Ermöglicht Ihnen die Auswahl (aus der üblichen Liste von Aktionen), was mit den ausgewählten Elementen geschehen soll. Wählen Sie „CurrentObject“ als Ziel aus, um die Aktion auf alle Elemente anzuwenden, die die oben angegebenen Kriterien erfüllen.
Variablenaktionen
Variablenaktionen werden verwendet, um Werte von Variablen festzulegen oder zu erstellen, Werte aufzuzeichnen und zu definieren, einschließlich Werte über Sitzungen hinweg.
Die folgende Tabelle bietet einen Überblick über alle verfügbaren Optionen für Variablenaktionen in Labvanced. Jede von ihnen wird in den kommenden Abschnitten detaillierter beschrieben.
Variablenaktionsoption | Beschreibung |
---|---|
Variable setzen / aufzeichnen | Schreibt oder legt einen Variablenwert fest |
In die Zwischenablage kopieren | Kopiert einen Variablenwert in die interne Zwischenablage des Computers. |
Zufallszahl ziehen | Zieht eine oder mehrere Zufallszahlen und speichert sie in einer Variablen |
URL-Parameter abrufen | Speichert einen Wert aus der einzigartigen URL des Teilnehmers |
Von Gerät lesen / Auf Gerät schreiben | Liest oder schreibt eine Variable in/aus dem lokalen Gerätespeicher. Diese Aktion speichert Daten auf dem Gerät des Teilnehmers, anstatt die Daten an die Labvanced-Server zu senden. |
Von gemeinsam genutzter Variablen lesen / auf gemeinsam genutzte Variable schreiben | Liest von oder schreibt in eine Variable, die über Sitzungen einer Studie gemeinsam genutzt wird. Die Variable kann mit allen Teilnehmern oder privat für jede Einzelperson geteilt werden. |
Mathematik & Statistik | Führt eine mathematische Operation auf einer Eingangsvariablen (Array) aus und speichert das Ergebnis in einer Ausgabewerte. |
Variablen sofort aufzeichnen | Erstellt einen Snapshot aller Variablenwerte und sendet diesen an den Labvanced-Server. |
Gleitender Durchschnittsfilter | Berechnet einen gleitenden Durchschnitt (einen ständig aktualisierten Durchschnitt der Daten) einer Eingabe und speichert das Ergebnis in einer neuen Variablen. |
Variable verteilen | Wird verwendet, um einen Wert an andere Teilnehmer zu senden. Der Wert wird in einer Variablen gespeichert. |
Variable setzen / aufzeichnen Aktion
Die Aktion „Variable setzen / aufzeichnen“ wird in jedem Experiment in Labvanced verwendet, da sie die Art und Weise ist, wie Werte und Verhaltensmaße gespeichert und aufgezeichnet werden.
Nachdem Sie auf diese Aktion geklickt haben, erscheint das folgende Dialogfenster, in dem Sie angeben können, welche Variable aufgezeichnet werden soll und welcher Wert von Interesse ist:
Menüelement | Menübereich | Beschreibung |
---|---|---|
Auswählen | Durch Klicken auf Auswählen geben Sie an, welche Variable den Wert speichern soll. Von hier aus können Sie auch eine neue Variable erstellen. | |
Stift-Symbol | Das Stift-Symbol symbolisiert das Wertauswahlmenü, das verwendet wird, um die genauen Werte zu definieren und anzugeben, die der ausgewählten Variablen zugewiesen werden sollten (wie im grünen Knopf links neben dem Gleichheitszeichen (=) angegeben). |
Im folgenden Beispiel haben wir eine neue Variable namens counter
erstellt und eine arithmetische Option aus dem Wertauswahlmenü verwendet, um den Variablenwert um 1 zu erhöhen (basierend auf dem im vorherigen Schritt definierten Trigger).
Das Bild unten zeichnet die X,Y-Koordinaten der Maus auf, um das Maus-Tracking während einer Studie zu erfassen. Das Bild unten zeigt, wie drei Aktionen verwendet werden, um die Aufzeichnung des Variablenwerts zu ermöglichen. Die Variable (links) wird manuell erstellt, während der Wert auf der rechten Seite des Gleichheitszeichens (=) ein mausspezifischer Wert ist, den das System bietet und den Sie bei der Aufzeichnung der Werte verwenden können.
Hinweis: Die Aktion „Variable setzen / aufzeichnen“ wird auch häufig im Kontext von Steueraktionen
verwendet, in denen Sie Bedingungen unter Verwendung von „wenn / dann“ und „während Schleifen“ basierend auf Variablenwerten angeben können.
In die Zwischenablage kopieren Aktion
Wirkung: Kopiert einen Variablenwert in die interne Zwischenablage des Computers.
Zufallszahl ziehen Aktion
Wirkung: Zieht eine oder mehrere Zufallszahlen und speichert sie in einer Variablen.
Parameter:
- Typ: Wählen Sie zwischen kontinuierlichen und diskreten Werten
- Verteilung: Wählen Sie zwischen Gauß- und gleichmäßiger Verteilung
- Mehrfache Ziehungen (boolescher Wert wahr/falsch): Wählen Sie einmal oder mehrfach ziehen.
- Anzahl der Ziehungen: Wählen Sie die Anzahl der Ziehungen aus
- Min: Definieren Sie den Minimalwert für die gleichmäßige Verteilung
- Max: Definieren Sie den Maximalwert für die gleichmäßige Verteilung
- Mittelwert: Definieren Sie den Mittelwert für die Gaußverteilung
- Standardabweichung: Definieren Sie die Standardabweichung für die Gaußverteilung
- In Variable speichern: Wählen Sie eine Variable aus, in der die Wert(e) gespeichert werden.
URL-Parameter abrufen Aktion
Wirkung: Speichert einen Wert aus der einzigartigen URL des Teilnehmers.
Parameter:
- Parametername: Geben Sie den Namen des gewünschten Parameters ein
- In Variable speichern: Wählen Sie die Variable aus, in der der Parameterwert zu speichern ist.
Diese Aktion kann mit anderen Aktionen kombiniert werden, um einzigartige URLs für Teilnehmer zu erstellen oder Informationen zu extrahieren, die für die Datenanalyse erforderlich sind.
Von Gerät lesen / Auf Gerät schreiben Aktion
Wirkung: Liest oder schreibt eine Variable zu/von dem lokalen Gerätespeicher. Diese Aktion speichert Daten auf dem Gerät des Teilnehmers, anstatt die Daten an die Labvanced-Server zu senden.
Parameter:
- Wählen Sie aus, ob von dem lokalen Gerät gelesen oder auf das lokale Gerät geschrieben werden soll.
- Wählen Sie die Variable, die gelesen oder geschrieben werden soll.
Anwendungsfall: Längsschnitt-/Multi-Session-Studien
- Mit dieser Aktion können gerätespezifische Daten von Sitzung zu Sitzung übertragen werden, vorausgesetzt, derselbe Teilnehmer verwendet für jede Sitzung dasselbe Gerät.
- Zum Beispiel können Sie diese Aktion verwenden, um aufzuzeichnen, welche Bilder jedem Teilnehmer in Sitzung 1 präsentiert wurden, und sicherzustellen, dass in Sitzung 2 unterschiedliche Bilder präsentiert werden.
- Erstellen Sie ein Array von Bildern und wählen Sie zufällig einige aus, die in jeder Sitzung präsentiert werden.
- Schreiben auf das Gerät: die Indexnummer der in Sitzung 1 präsentierten Bilder.
- Lesen vom Gerät: In Sitzung 2 die Indizes der Bilder aus Sitzung 1 auslesen und eine JavaScript-Aktion einfügen, die verhindert, dass diese Indizes für die zweite Sitzung ausgewählt werden.
Von gemeinsam genutzter Variablen lesen / auf gemeinsam genutzte Variable schreiben Aktion
Wirkung: Liest von oder schreibt in eine Variable, die über Sitzungen einer Studie gemeinsam genutzt wird. Die Variable kann mit allen Teilnehmern oder privat für jede Einzelperson geteilt werden.
Parameter:
- Wählen Sie die Variable, die synchronisiert werden soll. Muss entweder skalar oder ein Array sein.
- Erweiterte Optionen
- Speicherortschlüssel: Wählen Sie den Namen einer Variable, die als Schlüssel zum Zugriff auf die synchronisierte Variable dient.
- Lese- oder Schreibmethode:
- Gemeinsame Variable lesen, ändern und dann schreiben: Liest die Variable, ändert sie, und sendet die Variable dann an die Studie.
- Nur den gemeinsamen Wert vom Server lesen: Ruft die Variable auf, die innerhalb der Studie gemeinsam genutzt wird, jedoch keine Änderungen vornimmt.
- Nur Variable auf den Server schreiben: Vornahmen an der gemeinsamen Variablen vornehmen, sie jedoch nicht Teilnehmern zeigen.
- Werte zwischen verschiedenen Teilnehmern teilen (nicht nur zwischen Sitzungen): Ermöglicht Teilnehmern, die synchronisierten Variablenwerte über Sitzungen hinweg zu sehen. Diese Option ist standardmäßig ausgewählt, kann jedoch durch Klicken auf das Kontrollkästchen abgewählt werden.
- Aktionssequenz:
- Wählen Sie aus, was mit der gemeinsam genutzten/synchronisierten Variablen aus der Liste aller verfügbaren Aktionen geschieht.
Anwendungsfall: Längsschnitt-/Multi-Session-Studien
- Mit dieser Aktion können teilnehmerspezifische Daten von Sitzung zu Sitzung übertragen und zwischen den Teilnehmern über Sitzungen hinweg geteilt werden.
- Zum Beispiel können Sie diese Aktion verwenden, um eine Punktzahl in einem Test aufzuzeichnen und den Teilnehmern dann zu ermöglichen, ihre Punktzahl mit der Durchschnittspunktzahl der anderen Teilnehmer zu vergleichen, die den Test abgeschlossen haben.
- Ein weiteres Beispiel (ähnlich der Aktion Von Gerät lesen/auf Gerät schreiben) wäre, die Teilnehmer fünf Bilder aus einem Array auswählen zu lassen, eine Aufgabe auszuführen und diese fünf Bilder dann in einer späteren Sitzung erneut zu präsentieren. Der Unterschied besteht darin, dass diese Aktion verwendet werden kann, um anderen Teilnehmern die ausgewählten Bilder zu zeigen oder diese Bilder von den verfügbaren Optionen eines anderen Teilnehmers auszuschließen.
Mathematik & Statistik Aktion
Wirkung: Führt eine mathematische Operation auf einer Eingangsvariablen (Array) aus und speichert das Ergebnis in einer Ausgabevariable.
Parameter:
- Typ: Wählen Sie zwischen Array-Operationen, Linearer Algebra und Statistischen Tests
- Operation: Wählen Sie eine mathematische Operation (z.B. Summe, min, stdev, etc.)
- Eingabe-Array: Wählen Sie eine Eingangsvariable (Array), auf der die Operation ausgeführt wird
- Parameter: Einige Operationen haben zusätzliche Parameter.
- Ausgabe: Wählen Sie eine Ausgabvariable, in der das Ergebnis gespeichert wird.
Variablen sofort aufzeichnen Aktion
Wirkung: Erstellt einen Snapshot aller Variablenwerte und sendet diesen an den Labvanced-Server.
Parameter: Keine
Gleitender Durchschnittsfilter Aktion
Wirkung: Berechnet einen gleitenden Durchschnitt (einen ständig aktualisierten Durchschnitt der Daten) einer Eingabe und speichert das Ergebnis in einer neuen Variablen.
Parameter:
- Filterform: Wählen Sie den Filtertyp
- Einfacher gleitender Durchschnitt: Berechnet einen einfachen gleitenden Durchschnitt, bei dem alle Proben das gleiche Gewicht haben.
- Linear gewichteter gleitender Durchschnitt: Gewichtet die Proben, sodass die Gewichte der Proben linear abnehmen.
- Exponential gleitender Durchschnitt: Gewichtet die Proben, sodass die Gewichte der Proben exponentiell abnehmen.
- Anzahl der Proben: Bestimmt, wie viele Proben pro Schritt verwendet werden.
- Eingabe: Wählen Sie eine Eingangsvariable (Array), auf deren Grundlage der gleitende Durchschnitt berechnet wird
- Ausgabe: Wählen Sie eine Ausgabvariable, in der das Ergebnis gespeichert wird.
Variable verteilen Aktion
Die Aktion „Variable verteilen“ ist entscheidend für Multi-User-Studien in Labvanced. Mit dieser Aktion kann ein Variablenwert zwischen Teilnehmern geteilt werden, wodurch Informationen (einschließlich Stimulusstandorte und Änderungen) auf den Bildschirmen der Teilnehmer angezeigt werden können.
Nachdem Sie diese Aktion ausgewählt haben, erscheint das folgende Dialogfeld, in dem Sie angeben können, welcher Variablenwert zwischen den Teilnehmern verteilt wird.
Das Bild unten zeigt, wie das Dialogfeld der funktionalen Variablen verteilen Aktion aussieht, wenn alle Menüelemente ausgefüllt sind. In diesem Beispiel wird die verteilte Variable als Aktion verwendet, um einen Chat zwischen zwei Teilnehmern zu erstellen, indem der Wert einer Variablen aus einem Eingabefeldobjekt verteilt wird.
Schauen Sie sich diese Demo an, die die Funktion zur Verteilung von Variablen und das Chatfeld-Feature enthält: Image Description Task with Chat Add-On.
Eine vollständige Erklärung der Dialogmenüelemente finden Sie unten:
Menüelement | Menübereich | Optionen und Beschreibung der Variable verteilen Aktion |
---|---|---|
Wert verteilen an | Wählen Sie aus, an welche anderen Teilnehmer der Wert gesendet werden soll.
| |
Wählen Sie die Zielvariable und den Wert |
| |
Block | Wenn aktiviert, kann die Zielvariable nicht geändert werden, bis die aktuelle Wertverteilung abgeschlossen ist. | |
Rate-Limit-Strategie | Die Rate-Limit-Strategie ist eine Möglichkeit, Ihr Experiment vor einer Überlastung der Server zu schützen und dient als Vorsichtsmaßnahme zur Kontrolle der Rate, mit der Anfragen (d.h. Updates über die verteilte Variable) an den Server gesendet werden. Die folgenden Strategien stehen zur Verfügung:
|
Array-Aktionen
Aus Array auswählen (lesen) Aktion
Wirkung: Liest eine Variable aus einem Array und speichert diesen Wert in einer skalaren Variablen.
Parameter:
- Array-Variable: Eingabe-Array zum Auslesen des Wertes.
- Index-Typ: Bestimmt, welcher Index verwendet wird.
- Fest: Verwenden Sie einen festen Index für den Lesevorgang. Geben Sie in diesem Fall die Position an, von der die Informationen ausgelesen werden sollen (1-basiert).
- Variable: Verwenden Sie eine numerische Variable als Index für den Lesevorgang. Wählen Sie in diesem Fall eine skalare numerische Variable aus, um die Position der Ausgabe zu bestimmen.
- Ende des Arrays: Lesen Sie vom Ende des Arrays.
- Ausgabevariable: Wählen Sie eine skalare Variable aus, in der der gelesene Wert gespeichert wird.
Einträge zu Array hinzufügen / entfernen Aktion
Wirkung: Fügt Einträge zu einem Array hinzu und/oder entfernt sie.
Parameter:
- Array-Variable: Arrayvariable, auf der der Hinzufügungs- oder Entfernungs-Vorgang ausgeführt werden soll.
- Index-Typ: Bestimmt, welcher Index verwendet wird.
- Fest: Verwenden Sie einen festen Index für den Einfüge-/Löschvorgang. Geben Sie in diesem Fall die Array-Position an, an der die Einträge eingefügt / gelöscht werden sollen. (1-basiert).
- Variable: Verwenden Sie eine numerische Variable als Index für den Einfüge-/Löschvorgang. Wählen Sie in diesem Fall eine skalare numerische Variable aus, um zu bestimmen, wo die Einträge eingefügt / gelöscht werden sollen.
- Ende des Arrays: Einfügen/Löschen vom Ende des Arrays.
- Nr oder Einträge löschen: Entfernt die Arrayeinträge (vor dem Einfügen neuer Einträge) beginnend an der definierten Indexposition. 0 bedeutet, dass keine Werte entfernt werden.
- Variable(n) einfügen: Wählen Sie eine oder mehrere skalare Variable(n) aus, die an der definierten Indexposition zur Arrayvariablen hinzugefügt werden.
Eintrag im Array ändern (ersetzen) Aktion
Wirkung: Ersetzt / ändert einen Wert innerhalb eines Arrays.
Parameter:
- Array-Variable: Arrayvariable, in der ein Wert geändert werden soll
- Index-Typ: Bestimmt, welcher Index verwendet wird.
- Fest: Verwenden Sie einen festen Index für den Ersetzungs-Vorgang. Geben Sie in diesem Fall die Array-Position an, die geändert werden soll (1-basiert).
- Variable: Verwenden Sie eine numerische Variable als Index für den Ersetzungs-Vorgang. Wählen Sie in diesem Fall eine skalare numerische Variable aus, um die Position des Ersetzungs-Vorgangs zu bestimmen.
- Ende des Arrays: Ersetzt den letzten Eintrag im Array.
- Eingangsvariable: Wählen Sie eine (skalare) Variable aus, die den neuen Wert enthält.
Arrayeinträge mischen Aktion
Wirkung: Mischt die Einträge / die Reihenfolge innerhalb eines Arrays.
Parameter: Keine
Datenrahmenoperationen
Aus Datenrahmen lesen / in Datenrahmen schreiben Aktion
Wirkung: Liest Werte aus oder schreibt Werte in einen Datenrahmen und speichert diese in einer neuen Array-Variable.
Parameter:
- Datenrahmenvariable: Wählen Sie die Variable des Datenrahmens aus, um zu lesen.
- Lesen oder Schreiben: Wählen Sie, um aus dem ausgewählten Datenrahmen zu lesen oder in den ausgewählten Datenrahmen zu schreiben.
- Nach Zeile oder Spalte: Wählen Sie aus, wie die Daten gelesen werden sollen.
- Indextyp: Wählen Sie den Typ der Indexvariablen, die verwendet wird, um den Datenrahmen zu lesen. Kann fest, variabel oder die letzte Zeile sein.
- Indexvariable: Wählen Sie die Variable aus, die als Index zum Lesen des Datenrahmens verwendet wird.
- Ausgabevariable: Wählen Sie die Variable aus, in der die gelesenen/geschriebenen Daten als Ausgabe gespeichert werden. Muss eine Array-Variable sein.
Datenrahmeneinträge mischen Aktion
Wirkung: Mischt die Reihenfolge der Einträge im Datenrahmen.
Parameter:
- Wählen Sie den Datenrahmen aus, der gemischt werden soll.
- Wählen Sie aus, ob der Datenrahmen nach Zeilen oder Spalten gemischt werden soll.
Sprungaktionen
Sprung zu Aktion
Wirkung: „Springt“ den Teilnehmer zu einem anderen Schritt im Experiment. Diese Aktion kann die Reihenfolge von Versuchen und Aufgaben in einem Experiment ändern und kann verwendet werden, um eine individualisierte experimentelle Logik für jeden Teilnehmer zu erstellen.
Parameter:
- Springen zu: Bestimmt, wohin im Experiment gesprungen werden soll.
- Nächster Frame: Springt zum nächsten Frame. Wenn im Versuch keine weiteren Frames definiert sind, springt es zum ersten Frame des nächsten Versuchs.
- Nächster Versuch: Springt zum nächsten Versuch. Wenn keine weiteren Versuche definiert sind, springt es zum ersten Versuch der nächsten Aufgabe.
- Nächste Aufgabe: Springt zur nächsten Aufgabe. Wenn keine weiteren Aufgaben definiert sind, springt es zur ersten Aufgabe des nächsten Blocks.
- Nächster Block: Springt zum nächsten Block. Wenn keine weiteren Blocks definiert sind, wird die Sitzung beendet.
- Vorheriger Frame: Springt zum vorherigen Frame. Wenn keine vorherigen Frames vorhanden sind, wird die Aktion nicht ausgeführt.
- Bestimmter Frame: Springt zu einem bestimmten Frame. Benutzer wählen direkt den Frame, zu dem gesprungen werden soll.
- Bestimmter Versuch: Springt zu einem bestimmten Versuch. Benutzer wählen direkt die Versuchsnummer, zu der gesprungen werden soll.
- Bestimmte Aufgabe: Springt zur ersten Instanz der angegebenen Aufgabe im aktuellen Block. Benutzer wählen direkt die Aufgabe, zu der gesprungen werden soll.
- Bestimmter Block: Springt zur ersten Instanz des angegebenen Blocks. Benutzer wählen direkt den Block, zu dem gesprungen werden soll.
- Überprüfen erforderlicher Antworten vorher: Wenn aktiviert, wird das Experiment überprüfen, ob alle erforderlichen Antworten bereits beantwortet wurden. Andernfalls wird die Sprungaktion nicht ausgeführt.
Session akzeptieren/beenden Aktion
Wirkung: Akzeptiert die Daten des Teilnehmers, beendet die Aufzeichnungssitzung und zeigt den Crowdsourcing-Code an.
Parameter:
- Versuchsdaten vor dem Beenden der Sitzung aufzeichnen: Wenn aktiviert, werden die aktuellsten Versuchsdaten gespeichert (an den Server gesendet), bevor die Studie verlassen wird.
- Standardendseite anzeigen: Wenn aktiviert, erscheint die Standard-Endseite von Labvanced. Wenn dies eine Crowdsourcing-Sitzung ist (Crowdsourcing-Link wurde verwendet), wird der Entschädigungscode dem Teilnehmer angezeigt. Wenn deaktiviert, wird das Experiment abgeschlossen, nachdem der aktuelle Frame angezeigt wurde, und die Standard-Endseite mit dem Entschädigungscode wird nicht angezeigt.
Session ablehnen/beenden Aktion
Wirkung: Beendet die Aufzeichnungssitzung, markiert die Daten des Teilnehmers jedoch NICHT als vollständig und zeigt NICHT die Standard-Endseite mit dem Entschädigungscode an.
Wenn Sie diese Aktion verwenden, um die Daten eines Teilnehmers abzulehnen, sollten die Benutzer eine geeignete Nachricht an die Teilnehmer anzeigen, die den Grund erklärt, warum sie nicht für ihre Zeit belohnt werden.
Parameter: Keine
Zu URL weiterleiten Aktion
Wirkung: Leitet den Teilnehmenden zu einer bestimmten URL weiter.
Hinweis: Die URL muss zu Beginn das https:// enthalten, damit diese Aktion funktioniert.
Steueraktionen
Anforderungsaktionen (Wenn... Dann... Sonst Wenn) Aktion
Wirkung: Bewertet eine Wenn-Dann-Aussage und führt eine Reihe von Aktionen abhänging aus. Jede Wenn/Else-If-Aussage besteht aus geschachtelten UND/ODER-Vergleichen, um zu bewerten, ob alle Anforderungen erfüllt sind (Aussage ist wahr) oder nicht (Aussage ist falsch). Wenn die Aussage wahr ist, werden die Aktionen unter „Dann“ ausgeführt.
Parameter:
- Anforderung hinzufügen: Fügen Sie eine neue Anforderung zu einer Aussage hinzu. Das Menü „Wert auswählen“ erscheint auf beiden Seiten, um einen logischen Vergleich zu ermöglichen. In der Mitte der Aussage können Sie auswählen, wie beide Seiten verglichen werden sollen (z.B. gleich, kleiner als, ungleich, etc.).
- ODER-Gruppe hinzufügen: Nur eine der Anforderungen innerhalb einer ODER-Gruppe muss wahr sein, damit die gesamte Gruppe wahr ist. Fügen Sie eine ODER-Gruppe hinzu, wenn die Unteraktionen in mehreren Fällen ausgeführt werden sollen.
- UND-Gruppe hinzufügen: Alle Anforderungen innerhalb einer UND-Gruppe müssen wahr sein, damit die gesamte Gruppe wahr ist. Fügen Sie eine UND-Gruppe hinzu, wenn die Unteraktionen nur dann ausgeführt werden sollen, wenn mehrere Anforderungen erfüllt sind.
- Aktionssequenz: Jede Wenn/Else-If-Aussage hat eine Liste von Aktionen, die unter „Dann“ definiert sind. Die Aktionssequenz listet alle Aktionen für eine bestimmte Wenn/Else-If-Aussage auf. Eine neue Aktion kann über das Symbol „Aktion hinzufügen“ hinzugefügt werden. Die Aktionssequenz wird nur ausgeführt, wenn die Anforderungen der zugehörigen Wenn/Else-if-Aussage erfüllt sind.
- Else-If-Fall hinzufügen: Die Anforderungsaktion kann aus mehreren separaten Wenn/Else-If --> Dann-Aussagen bestehen. Es kann jedoch nur eine Aussage ausgeführt werden. Wenn eine Wenn/Else-If-Aussage positiv bewertet wird (wahr zurückgibt), werden die Aktionen im Dann-Block ausgeführt und der Rest der Anforderungsaktion übersprungen.
- Else-Fall hinzufügen (wahr/falsch): Wenn aktiviert, wird der Anforderungsaktion eine Standard-/Fallback-Option hinzugefügt. Wenn keine der Wenn/Else-If-Aussagen ausgeführt werden (wahr zurückgibt), werden die unter dem Else-Fall definierten Aktionen ausgeführt.
Wiederholte Aktionen (While-Schleife) Aktion
Wirkung: Führt wiederholt eine Reihe von Aktionen entweder sofort oder innerhalb eines definierten Intervalls aus. Eine Stopp-Bedingung kann angegeben werden, sodass die Ausführung der Schleife gestoppt wird.
Parameter:
- Ausführungstyp: Wählen Sie zwischen unmittelbarer Ausführung oder zeitgesteuerter Ausführung
- Vollständige Schleife ausführen: Dies wird die Schleife kontinuierlich ausführen, bis die Stopp-Bedingung erfüllt ist.
- Alle ... ms ausführen: Dies wird die Schleife mit einem definierten Intervall ausführen (z.B. wird die Schleife alle 50 ms ausgeführt).
- Anzahl der Schleifen definieren: Wenn „Alle ... ms ausführen“ ausgewählt ist, um den Benutzern die Möglichkeit zu geben, einen numerischen ganzzahligen Wert für die Anzahl der Male anzugeben, die die Schleife ausgeführt werden soll. Dies ersetzt die Notwendigkeit, eine Stopp-Bedingung zu definieren.
- Ausführungsintervall: Dies bestimmt das Ausführungsintervall.
- Sofort starten (wahr/falsch): Wenn aktiviert, wird die Schleife sofort ausgeführt. Wenn deaktiviert, wird die Schleife beim nächsten Ausführungsintervall gestartet.
- Mehrere Starts zulassen (wahr/falsch): Wenn aktiviert, können mehrere Schleifeninstanzen parallel gestartet werden. Wenn deaktiviert, kann immer nur eine Schleifeninstanz gleichzeitig ausgeführt werden.
- Stopp-Bedingung aktivieren (wahr/falsch): Wenn aktiviert, kann eine Stopp-Bedingung für die Schleife angegeben werden.
- Stopp-Bedingung: Die Stopp-Bedingung kann verwendet werden, um einen logischen Ausdruck anzugeben, unter dem die Ausführung der Schleife gestoppt werden soll. Ähnlich den Wenn/Else-If-Aussagen kann man UND-Gruppen, ODER-Gruppen und Anforderungen für den logischen Vergleich kombinieren.
- Aktionssequenz: Die Aktionssequenz listet alle Aktionen auf, die bei jeder Iteration der Schleife ausgeführt werden. Eine neue Aktion kann über das Symbol „Aktion hinzufügen“ hinzugefügt werden.
Verzögerte Aktionen (Zeit-Callback) Aktion
Wirkung: Führt eine Reihe von Aktionen nach einer bestimmten zeitlichen Verzögerung aus.
Parameter:
- Verzögerungstyp: Wählen Sie zwischen fester Verzögerung oder variabler Verzögerung
- Feste Verzögerung: Die Aktionen werden nach einer festen Verzögerung ausgeführt.
- Variable Verzögerung: Die Aktionen werden nach einer Verzögerung ausgeführt, die in einer (numerischen) Variablen angegeben ist.
- Verzögerung: Die Dauer der Verzögerung in Millisekunden (ms).
- Aktionssequenz: Die Aktionssequenz listet alle Aktionen auf, die nach der angegebenen zeitlichen Verzögerung ausgeführt werden. Eine neue Aktion kann über das Symbol „Aktion hinzufügen“ hinzugefügt werden.
Aktionsgruppe
Aktionen können auch in Aktionsgruppen organisiert werden. Aktionsgruppen ermöglichen es Ihnen, bestimmte Aktionen zusammenzufassen, um eine einfachere visuelle Struktur zu schaffen, aber auch, wenn Sie mehrere Aktionen gleichzeitig kopieren, duplizieren oder löschen möchten. Um eine Aktionsgruppe hinzuzufügen, finden Sie die Option unter Benutzerdefinierte Aktionen:
API-Aktionen
Wenn Sie Daten von einem externen Server an Labvanced senden oder kommunizieren müssen, können „API-Aktionen“ und „API-Trigger“ verwendet werden. Sie haben die folgenden Aktionen in dieser Kategorie zur Verfügung:
- An Websocket senden
- An OpenAI senden
Damit diese Aktionen „verfügbar“ oder verwendbar sind, müssen Sie einen API-Schlüssel in den Studieneinstellungen unter der „Experiment-Features“-Spalte eingeben. Sobald der API-Schlüssel dort angegeben wurde, werden diese Aktionen im Menü nicht mehr ausgegraut.
An Websocket senden Aktion
Wenn Sie diese Aktion auswählen, erscheinen die folgenden Optionen:
Das obige Beispiel und die vollständige Veranstaltungsstruktur sind hier zu finden: https://www.labvanced.com/page/library/51053 durch Klicken auf „Untersuchen“.
Menüelement | Beschreibung |
---|---|
An senden: | Gibt die Websocket-Adresse an, die in den „Studieneinstellungen“ unter der „Experiment-Features“-Spalte aufgeführt ist. |
Auslöser/Nachricht senden: | Geben Sie den Auslöser oder die Nachricht an, die gesendet werden soll. |
Variable senden (optional): | Geben Sie die Variable an, die ebenfalls als Teil der Aktion gesendet werden kann. |
Für weitere Informationen zum API-Zugriff besuchen Sie bitte diese Seite.
An OpenAI senden Aktion
Die Aktion „An OpenAI senden“ ermöglicht es Ihnen, Informationen, wie ein Zeichenfolge-Eingabewert, an OpenAI zu senden. Bitte beachten Sie, dass dieser Option zur Verfügung stehen muss, müssen Sie Ihren API-Schlüssel in den „Studieneinstellungen“ unter der „Experiment-Features“-Spalte angeben.
Die folgenden Optionen erscheinen, wenn Sie dieses Ereignis anklicken:
Hier ist ein funktionales Beispiel, wie dieses Ereignis aussieht, wenn alle erforderlichen Informationen bereitgestellt sind:
Für ein besseres Verständnis darüber, wie Sie dieses Feature verwenden können und es in Aktion sehen, können Sie uns gerne kontaktieren, um eine Demo durch Einreichung dieses Kontaktformulars anzufordern.
HINWEIS: Konsultieren Sie auch diesen Leitfaden, in dem wir eine Studie Schritt für Schritt aufbauen und ChatGPT in eine Studie integrieren und diese Aktion nutzen.
Hier ist eine detailliertere Erklärung der Felder, die unter der Aktion „An OpenAI senden“ enthalten sind:
Menüelement | Menübereich | Optionen der „An OpenAI senden“-Aktion |
---|---|---|
Modelltyp | Gibt das AI-Modell an, das verwendet wird. Hinweis: Um die ChatGPT-Version anzugeben, siehe die „Studieneinstellungen“ unter der „Experiment-Features“-Spalte. | |
Chatverlauf-Datenrahmen | Link zu einer Datenrahmenvariable mit zwei Spalten. Die erste Spalte gibt die „Rolle“ an und die zweite Spalte die „Chatnachricht.“ Die Werte aus der Aktion werden automatisch an den hier verlinkten Datenrahmen angehängt. Der Datenrahmen kann auch mit Datenrahmenaktionen bearbeitet werden. Für weitere Informationen siehe die Dokumentation von OpenAI. | |
Nachricht einfügen ‘+’ | Durch Klicken darauf erscheint das Variablen-Dialogfeld. Sie müssen angeben, welcher „Variablen“-Wert an OpenAI gesendet wird, sowie die „Rolle“ der zugehörigen Nachricht:
|
Da sich OpenAI täglich weiterentwickelt, überprüfen Sie bitte die [Dokumentation von OpenAI](https://platform.openai.com/docs/api-reference/chat/create) für weitere Klarstellungen.
### Code-Aktionen
In einigen Fällen kann es erforderlich sein, benutzerdefinierten Code zu verwenden. Mit diesen Aktionen können Sie genau das tun! Die folgenden Optionen stehen im Menü „Code-Aktionen“ zur Verfügung:
* JavaScript ausführen
* Globales CSS festlegen
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/code_actions_menu.png" alt="Die Code-Aktionen im Aktionsmenü von Labvanced." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
#### JavaScript-Aktion ausführen
Die Aktion „JavaScript ausführen“ ermöglicht es Ihnen, bestimmte Ereignisse zu programmieren und Labvanced-Variablen in Ihrer Studie zu lesen/setzen, indem Sie benutzerdefiniertes JavaScript eingeben, das als Aktion ausgeführt wird, wenn es ausgelöst wird.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/run_js.png" alt="Die JavaScript-Aktion im Aktionsmenü von Labvanced." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Wenn die obige Aktion „JavaScript ausführen“ ausgewählt ist, sehen Sie einen Bereich (einen Code-Editor), in dem der JavaScript-Code geschrieben werden sollte, sowie Anweisungen zur Verwendung:
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/js_editor.png" alt="Der JavaScript-Code-Editor in Labvanced." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
#### Globales CSS festlegen
Mit der Aktion „Globales CSS festlegen“ können Sie benutzerdefinierten CSS-Code verwenden, um einen Aspekt der Studie beim Auslösen zu ändern.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/global_css.png" alt="Die Aktion Globales CSS festlegen im Aktionsmenü von Labvanced." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Das folgende Feld wird beim Klicken auf diese Aktion geöffnet:
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/css_editor.png" alt="Der CSS-Code-Editor in Labvanced." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Ein Beispiel für die Verwendung der Aktion „Globales CSS festlegen“ wäre, die Hintergrundfarbe der Studie zu ändern, wenn ein Teilnehmer eine bestimmte Farbe aus einer Multiple-Choice-Frage auswählt.
### Einfügeaktion
Diese Option ermöglicht es Ihnen, eine Aktion einzufügen, die Sie zuvor erstellt und kopiert haben. Dies ermöglicht Ihnen ein schnelleres Arbeiten beim Entwerfen Ihres Experiments, sodass Sie nicht immer wieder dieselben Elemente auswählen müssen. Wenn Sie beispielsweise ein Ereignis haben, das einem bereits vorhandenen ähnelt, können Sie es einfach kopieren, einfügen und ändern, anstatt es von Grund auf neu zu erstellen.
## Das Menü zur Werterausswahl
<img align="left" width="10%" style="padding: 10px;" height="auto" loading ="lazy" src="/content_imgs/learn/guide/task-editor/imgs/events/value_select_icon.png">Bei der Arbeit mit bestimmten Ereignissen werden Sie ein Stiftsymbol bemerken. Dies wird als Menü zur Werterausswahl bezeichnet, da es Ihnen ermöglicht, auszuwählen und anzugeben, welche Art von Werten aufgezeichnet oder verfolgt werden sollen. Es ist eine sehr leistungsstarke und wichtige Option, die Sie für Ihr experimentelles Design und Ihre Einrichtung nutzen müssen.
Dieses Stiftsymbol / Menü zur Werterausswahl erscheint an verschiedenen Stellen für bestimmte Aktionen im Ereignissystem, wie z. B. die Aktion Variable festlegen / aufzeichnen, die Aktion Objekt-Eigenschaft festlegen und die Anforderung (Wenn... Dann)-Aktion, wie unten gezeigt.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/value_select_menu_locations.png" alt="Die Werterausswahl-Standorte in Labvanced." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Ein Klick auf das Stiftsymbol führt zu einem Dropdown-Menü, in dem Sie den Wert angeben, der ausgegeben oder geschrieben werden soll. **Das Dropdown-Menü beginnt immer damit, eine auslöserspezifische Wertoption aufzulisten und fährt dann mit den anderen 5 Kategorien (Aktuelle Zeit, Konstante Werte, Variable, Frame / Aufgabe / Option und Operationen) fort, die jeweils ihre eigenen Optionen haben.** Diese werden weiter unten beschrieben.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/value_select_menu.png" alt="Das Menü zur Werterausswahl in Labvanced" width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Das obige Bild zeigt, wie das Menü zur Werterausswahl aussieht, wenn ein Maussignal verwendet wird. Wie Sie sehen können, beginnt der erste Menüeintrag links mit einer auslöserspezifischen Kategorie und wechselt dann zu den anderen 5 Kategorien (Aktuelle Zeit usw.).
### Menüoptionen
Die folgende Tabelle erklärt die Kategorien und Optionen näher:
| Kategorie | Optionen | Beschreibung |
|:---:|---|---|
| [`Trigger-spezifisch`](#trigger-specific-values) | Hängt vom Auslösertyp ab, den Sie zuvor für das Ereignis ausgewählt haben. | Basierend auf dem Auslöser, den Sie für ein Ereignis ausgewählt haben, wird eine spezifische Liste von Optionen oben im Menü zur Werterausswahl angezeigt, aus der Sie wählen können. Bitte beachten Sie den Abschnitt über [Trigger-spezifische Werte](#trigger-specific-values), um eine vollständige Liste der Optionen und Beschreibungen zu sehen. |
| [`Aktuelle Zeit`](#current-time-values) | <ul><li> [UNIX-Zeitstempel](#current-time-unix-timestamp) </li><li> [Zeit seit Rahmenbeginn](#current-time-time-from-frame-onset) </li> </ul> | Zeitwerte messen und abrufen. |
| [`Konstante Werte`](#constant-values) | <ul><li> String </li><li> Numerisch </li><li> Boolean </li><li> Kategorisch </li><li> Datum</li><li> Zeit </li><li> Farbe </li> </ul> | Weisen Sie konstante Werte basierend auf dem Typ der benötigten Variablen zu, wie z. B. String oder numerisch. Diese werden manchmal in Kombination mit anderen Optionen wie [`Arithmetik`](#arithmetic) verwendet, um Zähler zu erstellen. |
| [`Variable`](#variable-values) | <ul> <li> Variable auswählen </li><li> Wert aus Array auswählen </li><li> Wert aus Datenrahmen auswählen </li></ul> | Geben Sie eine Variable an oder beziehen Sie sich auf eine Variable oder wählen Sie einen Wert aus einem Array oder Datenrahmen aus. |
| [`Frame / Aufgabe / Objekt`](#frame-task-object-values) | <ul><li> Objekt-Eigenschaft </li><li> Frame </li><li> Augenverfolgung </li><li> Gerät </li> </ul> | Ermöglicht das Abrufen von Werten, die mit Objekteigenschaften, dem Frame, der Augenverfolgung (falls aktiviert) und dem Gerät (Bildschirmpufferrate) verbunden sind. |
| [`Operationen`](#operations) | <ul><li>Arithmetik </li><li> String-Operation </li><li> Mathe-Operation </li> </ul> | Verwenden Sie Operationen, um angegebene Änderungen an Ihren Variablen durchzuführen, z. B. das Kombinieren von Variablenwerten, das Umwandeln von Strings in Kleinbuchstaben oder das Ausführen mathematischer Operationen. |
### Aktuelle Zeitwerte
Mit der Option „Aktuelle Zeit“ können Sie Werte im Zusammenhang mit der Zeit aufzeichnen oder darauf verweisen.
Die folgenden Optionen sind verfügbar:
* [UNIX-Zeitstempel](#current-time-unix-timestamp)
* [Zeit seit Rahmenbeginn](#current-time-time-from-frame-onset)
#### Aktuelle Zeit: UNIX-Zeitstempel
Dieser Wert erfasst einen Zeitstempel im UNIX-Format in Millisekunden.
#### Aktuelle Zeit: Zeit seit Rahmenbeginn
Dieser Wert erfasst die seit dem Rahmenbeginn vergangene Zeit. Dies entspricht meist der Reaktionszeit.
### Konstante Werte
Weisen Sie konstante Werte basierend auf dem Typ der benötigten Variablen zu, wie z. B. String oder numerisch. Diese werden manchmal in Kombination mit anderen Optionen wie [`Arithmetik`](#arithmetic) verwendet, um Zähler zu erstellen.
Die folgenden Optionen sind verfügbar:
* [String](#constant-string)
* [Numerisch](#constant-numeric)
* [Boolean](#constant-boolean)
* [Kategorisch](#constant-categorical)
* [Datum](#constant-date)
* [Zeit](#constant-time)
* [Farbe](#constant-color)
#### Konstant: String
Weist einen String/Textwert zu.
#### Konstant: Numerisch
Weist einen numerischen/Zahlenwert zu.
#### Konstant: Boolean
Weist einen Wert von wahr oder falsch zu.
#### Konstant: Kategorisch
Weist einen Levelwert zu (meist für Faktoren).
#### Konstant: Datum
Weist einen Datumswert zu.
#### Konstant: Zeit
Weist einen Zeitwert zu.
#### Konstant: Farbe
Weist einen Farbwert (hex-String) zu.
### Variable Werte
Geben Sie eine Variable an oder beziehen Sie sich auf eine Variable oder wählen Sie einen Wert aus einem Array oder Datenrahmen aus. Die folgenden Optionen sind verfügbar:
* [Variable auswählen](#select-variable)
* [Wert aus Array auswählen](#select-value-from-array)
* [Wert aus Datenrahmen auswählen](#select-value-from-data-frame)
#### Variable auswählen
Ermöglicht das Auswählen und Verweisen auf eine Variable.
#### Wert aus Array auswählen
Ermöglicht das Auswählen eines Wertes aus einem Array.
#### Wert aus Datenrahmen auswählen
Ermöglicht das Auswählen eines Wertes aus einem Datenrahmen, den Sie erstellt haben.
### Frame / Aufgabe / Objekt Werte
Ermöglicht das Abrufen von Werten, die mit Objekteigenschaften, dem Frame, der Augenverfolgung (falls aktiviert) und dem Gerät (Bildschirmpufferrate) verbunden sind.
* [Objekt-Eigenschaft](#object-property)
* [Frame](#frame)
* [Augenverfolgung](#eye-tracking)
* [Gerät](#device)
#### Objekt-Eigenschaft
Gibt eine Objekteigenschaft aus.
#### Frame
| Frame-Wertoptionen | Beschreibung |
| :---: | ---|
| **`Letzte gespeicherte Mouse X Position`** | Der letzte X-Koordinatenwert der Maus des Teilnehmers. |
| **`Letzte gespeicherte Mouse Y Position`** | Der letzte Y-Koordinatenwert der Maus des Teilnehmers. |
| **`Letzte gespeicherte Mouse [X,Y] Array`** | Der letzte [X,Y] Koordinatenwert der Maus des Teilnehmers im Array-Format. |
| **`Frame-Name`** | Der Name des Frames. |
#### Augenverfolgung
| Augenverfolgungs-Wertoptionen | Beschreibung |
| :---: | ---|
| **`Letzte gespeicherte Koordinate X`** | Der letzte X-Koordinatenwert des Blicks des Teilnehmers. |
| **`Letzte gespeicherte Koordinate Y`** | Der letzte Y-Koordinatenwert des Blicks des Teilnehmers. |
| **`Letzte gespeicherte Koordinate [X,Y] Array`** | Der letzte [X,Y] Koordinatenwert des Blicks des Teilnehmers im Array-Format. |
| **`Letzte gespeicherte Koordinate + Zeit [X,Y,T] Array`** | Der letzte [X,Y] Koordinatenwert des Blicks des Teilnehmers, plus der Kamerafangwert T in einem Array-Format. |
#### Gerät
* **Aktualisierungsrate:** Der Aktualisierungsratenwert des Geräts des Teilnehmers.
### Operationen
Verwenden Sie Operationen, um angegebene Änderungen an Ihren Variablen vorzunehmen, z. B. das Kombinieren von Variablenwerten, das Umwandeln von Strings in Kleinbuchstaben oder das Ausführen mathematischer Operationen.
Die folgenden Optionen sind verfügbar:
* [Arithmetik](#arithmetic)
* [String-Operation](#string-operation)
* [Mathe-Operation](#math-operation)
#### Arithmetik
Arithmetische Operationen sind für viele verschiedene Zwecke nützlich, einschließlich das Kombinieren von Strings und sogar das Modifizieren von Objekteigenschaften.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/arithmetic_menu.png" alt="Das Arithmetik-Menü in Labvanced." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Im Wesentlichen ermöglicht die arithmetische Operation die Durchführung von Operationen auf mehreren Werten.
Nach Auswahl dieser Option erscheint zusätzlich ein Stiftsymbol (d.h. Menü zur Werterausswahl) sowie eine Liste von Operationen, wie z. B. Addition.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/arithmetic_selected.png" alt="Die Stelle der Arithmetik-Option in Labvanced." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Die Werte können mit diesen 5 verschiedenen Operationen manipuliert werden:
* (+) Addition
* (-) Subtraktion
* (/) Division
* (*) Multiplikation
* (%) Modulo
Das folgende Beispiel zeigt, wie arithmetische Operationen genutzt werden, um eine neue String-Variable (im grünen Button) mit dem Namen 'intermediateVar' zu erstellen.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/chat_example_explained.png" alt="Beispiel für die Verwendung arithmetischer Operationen zur Erstellung einer neuen String-Variable." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Der neue Variablenwert (von 'intermediateVar') wird durch die Verwendung mehrerer arithmetischer Operationen zusammen mit einer Kombination von zuvor erstellten Variablen (d.h. 'userChatName' und 'chatInput'), sowie [konstanten Stringwerten,](#constant-8594-string) d.h. dem Semikolon `:` und dem Zeilenumbruch `<br>`, definiert. Diese Aktion erzeugt den Effekt eines Benutzer-Chats, der in einer Mehrbenutzstudie verwendet werden kann.
#### String-Operation
| String-Operationsoptionen | Beschreibung |
| :---: | ---|
| **`In Kleinbuchstaben umwandeln`** | Wandelt alle Buchstaben in einer String-Variable in Kleinbuchstaben um.<br><br> **→ Bsp:** (AAABBB) wird zu (aaabbb) |
| **`In Großbuchstaben umwandeln`** | Wandelt alle Buchstaben einer String-Variable in Großbuchstaben um. <br><br> **→ Bsp:** (aaabbb) wird zu (AAABBB) |
| **`In Link umwandeln`** | Wandelt den String in einer Variablen in eine URL um, die in einem anderen Fenster geöffnet wird |
| **`Leerzeichen entfernen`** | Entfernt alle Leerzeichen zwischen den Buchstaben in einer String-Variable. <br><br> **→ Bsp:** (aaa bbbb cccc) wird zu (aaabbbbccc) |
| **`Leerzeichen trimmen`** | Entfernt die Leerzeichen am Anfang einer String-Variable. <br><br> **→ Bsp:** ( aaabbbcccc) wird zu (aaabbbcccc) |
| **`Teilstring mit regulärem Ausdruck ersetzen`** | Ersetzt bestimmte Buchstaben in einer String-Wert-Variable. <br><br> **→ Bsp:** (aaabbbccc) ersetzt _bbb_ durch _xxx_, wodurch der Wert zu (aaaxxxccc) wird. |
#### Mathe-Operation
Führt eine mathematische Operation auf einen Skalarwert aus.
| Mathe-Operationsoptionen | Beschreibung |
| :---: | ---|
| **`abs`** | Gibt die absolute Zahl eines Wertes zurück. |
| **`sqrt`** | Gibt die Quadratwurzel eines Wertes zurück. |
| **`round`** | Gibt den gerundeten Wert mit 0 bis 3 Dezimalstellen zurück. |
| **`floor`** | Gibt den abgerundeten Wert zurück. |
| **`ceil`** | Gibt den aufgerundeten Wert zurück. |
| **`cos`** | Gibt den Kosinuswert zurück. |
| **`sin`** | Gibt den Sinuswert zurück. |
| **`tan`** | Gibt den Tangentenwert zurück. |
### Trigger-spezifische Werte
Trigger-spezifische Werte beziehen sich auf Werte, die mit dem Trigger verbunden sind, der innerhalb eines bestimmten Ereignisses definiert ist. Wenn Ihr Ereignis beispielsweise einen Maustrigger verwendet, können Sie aufgrund bestimmter Bereiche, in denen die Aktion spezifiziert ist (wie bei der Verwendung einer [`Variable festlegen / aufzeichnen`](#set-record-variable-action)-Aktion oder einer [`Objekt-Eigenschaft festlegen`](#set-object-property-action)-Aktion) auf mausspezifische Werte in dem [Wertauswahlmenü](#the-value-select-menu) zugreifen.
Im folgenden Beispiel werden trigger-spezifische Werte für einen Maustrigger verwendet, um x- und y-Werte sowie ein [X,Y] Array mit einer [`Variable festlegen / aufzeichnen`](#set-record-variable-action)-Aktion aufzuzeichnen.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/mouse_track_ex.png" alt="Demonstration, wie mausspezifische Triggerwerte zur Erfassung der Mausverfolgung verwendet werden." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Unten befindet sich eine Tabelle aller Arten von trigger-spezifischen Werten, die in Labvanced gefunden werden können, gefolgt von einer eingehenden Erklärung jeder Option.
| Name| Überblick über die Wertoptionen |
| :---: | ---|
| [`Trigger (Maus)`](#trigger-mouse-values) | <ul><li> Maus X </li><li> Maus Y </li><li> Maus [X,Y] Array </li><li> Stimulus-Name </li><li> Stimulus-Info </li><li> Trigger-Zeitstempel (Unixzeit) </li><li> Trigger-Zeit (seit Rahmenbeginn) </li> </ul> <img width=500/>|
| [`Trigger (Tastatur)`](#trigger-keyboard-values) | <ul><li> ID der Taste </li><li> Trigger-Zeitstempel (Unixzeit) </li><li> Trigger-Zeit (seit Rahmenbeginn) li> </li></ul> |
| [`Trigger (Buttonleiste)`](#trigger-button-bar-values) | <ul><li> Stimulus-Name </li><li> Stimulus-Info </li><li> Trigger-Zeitstempel (Unixzeit) </li><li> Trigger-Zeit (seit Rahmenbeginn) </li></ul> |
| [`Trigger (Eingabetaste)`](#trigger-enter-on-input-values) | <ul><li> ID der Taste </li><li> Trigger-Zeitstempel (Unixzeit) </li><li> Trigger-Zeit (seit Rahmenbeginn) </li></ul> |
| [`Trigger (Scrollen)`](#trigger-scroll-values) | <ul><li> Stimulus-Name </li><li> Stimulus-Info</li><li> Scrollposition X </li><li> Scrollposition Y </li><li> Trigger-Zeitstempel (Unixzeit) </li><li> Trigger-Zeit (seit Rahmenbeginn) </li></ul> |
| [`Trigger (Gamepad/Joytick)`](#trigger-gamepad-joystick-values) | <ul><li>Gamepad-Geräte-ID </li><li> Gedrückte Tasten (Array) </li><li> Gedrückte oder gehaltene Tasten (Array) </li><li> Losgelassene Tasten (Array) </li><li> Achsen (Array) </li><li> Gamepad-Zeitstempel (Unixzeit) </li><li> Trigger-Zeitstempel (Unixzeit) </li><li> Trigger-Zeit (seit Rahmenbeginn) </li></ul> |
| [`Trigger (Blickverfolgung)`](#trigger-eyetracking-gaze-values) | <ul><li> Koordinate X </li><li> Koordinate Y </li><li> Koordinate [X,Y] Array </li><li> Stimulus-Name </li><li> Stimulus-Info </li><li> Kamerafangzeit T </li><li> Blickvertraunswert C </li><li> Koord + Zeit [X,Y,T] Array </li><li> Koord + Zeit + Vertrauen [X,Y,T,C] Array </li><li> Trigger-Zeitstempel (Unixzeit) </li><li> Trigger-Zeit (seit Rahmenbeginn) </li></ul> |
| [`Trigger (Fixation)`](#trigger-eyetracking-fixation-values) | <ul><li> Fixationszentrum X </li><li> Fixationszentrum Y </li><li> Fixationsdauer </li><li> Fixationsstartzeit </li><li> Fixationsendzeit </li><li> Fixationsdispersion </li><li> Stimulus-Name </li><li> Stimulus-Info </li><li> [X,Y,Dauer,Start,Ende,Disp] </li><li> Trigger-Zeitstempel (Unixzeit) </li><li> Trigger-Zeit (seit Rahmenbeginn) </li></ul> |
| [`Trigger (Kopfverfolgung)`](#trigger-head-tracking-values) | <ul><li> Kamerafangzeit T </li><li> Kopf drehen </li><li> Kopf neigen </li><li> Kopf rollen </li><li> Kopfposition [X,Y,T] Array </li><li> Nasenposition [X,Y,T] Array </li><li> Nasenvektor [X,Y,Z,T] Array </li><li> Trigger-Zeitstempel (Unixzeit) </li><li> Trigger-Zeit (seit Rahmenbeginn) </li></ul> |
| [`Trigger (Bei Aufgabeninitialisierung)`](#trigger-on-task-initialization-values) | <ul><li> Trigger-Zeitstempel (Unixzeit) </li><li> Trigger-Zeit (seit Rahmenbeginn) </li></ul> |
| [`Trigger (Bei Rahmeninitialisierung)`](#trigger-on-frame-init-values) | <ul><li> VersuchNr </li><li> Trigger-Zeitstempel (Unixzeit) </li><li> Trigger-Zeit (seit Rahmenbeginn) </li></ul> |
| [`Trigger (Bei Rahmenstart)`](#trigger-on-frame-start-values) | <ul><li> Trigger-Zeitstempel (Unixzeit) </li><li> Trigger-Zeit (seit Rahmenbeginn) </li></ul> |
| [`Trigger (Bei Rahmenende)`](#trigger-on-frame-end-values) | <ul><li> Gesamtzeit des Rahmens </li><li> Trigger-Zeitstempel (Unixzeit) </li><li> Trigger-Zeit (seit Rahmenbeginn) </li></ul> |
| [`Trigger (Variablenwert geändert)`](#trigger-variable-value-changed-values) | <ul><li> Neuer Wert in der Variablen </li><li> Trigger-Zeitstempel (Unixzeit) </li><li> Trigger-Zeit (seit Rahmenbeginn) </li></ul> |
| [`Trigger (Medienobjekt-Trigger)`](#trigger-media-object-trigger-values) | <ul><li> Trigger-Zeitstempel (Unixzeit) </li><li> Trigger-Zeit (seit Rahmenbeginn) </li></ul> |
| [`Trigger (Websocket-Trigger)`](#trigger-websocket-trigger-values) | <ul><li> Nachricht </li><li> Daten </li><li> Trigger-Zeitstempel (Unixzeit) </li><li> Trigger-Zeit (seit Rahmenbeginn) </li></ul> |
| [`Trigger (OpenAI-Trigger)`](#trigger-openai-trigger-values) | <ul><li> Chat GPT-Antwort </li><li> Trigger-Zeitstempel (Unixzeit) </li><li> Trigger-Zeit (seit Rahmenbeginn) </li></ul> |
| [`Trigger (Globales Experiment-Event)`](#trigger-global-experiment-event-values) | <ul><li> Gesamtzeit des Rahmens </li><li> Grund für das globale Ereignis </li><li> Trigger-Zeitstempel (Unixzeit) </li><li> Trigger-Zeit (seit Rahmenbeginn) </li></ul> |
| [`Trigger (Teilnehmer verlässt Experiment)`](#trigger-user-leaves-experiment-values) | <ul><li> Verbleibende Anzahl der Teilnehmer </li><li> Trigger-Zeitstempel (Unixzeit) </li><li> Trigger-Zeit (seit Rahmenbeginn) </li></ul> |
#### Trigger (Maus)-Werte
Wenn ein [Maus-Trigger](#mouse-trigger) verwendet wird, können die folgenden [trigger-spezifischen Werte](#trigger-specific-values) bei der Arbeit mit bestimmten Aktionen aufgerufen werden:
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/mouse_trigger_specific_values.png" alt="Die verfügbaren Maustrigger-Wertoptionen" width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
| Trigger (Maus)-Optionen | Beschreibung |
| :---: | ---|
| **`Maus X`** | Gibt die aktuelle Maus X-Position in Rahmenkoordinaten zurück. |
| **`Maus Y`**| Gibt die aktuelle Maus Y-Position in Rahmenkoordinaten zurück. |
| **`Maus [X,Y] Array`** | Die [X,Y]-Koordinaten der Maus in einem Array-Format. |
| **`Stimulus-Name`** | Der Name des Objekts, das das Ereignis ausgelöst hat (z. B. welches Bild angeklickt wurde). |
| **`Stimulus-Info`** | Die Stimulus-Info des Objekts, das das Ereignis ausgelöst hat. |
| **`Trigger-Zeitstempel (Unixzeit)`** | Der Zeitstempel, wann der Trigger im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger-Zeit (seit Rahmenbeginn)`** | Die vergangene Zeit in Millisekunden, gemessen vom Beginn des Rahmenbeginns bis zu dem Zeitpunkt, an dem der Trigger aufgetreten ist. |
#### Trigger (Tastatur)-Werte
Wenn ein [Tastaturtrigger](#keyboard-triggers) verwendet wird, können die folgenden trigger-spezifischen Werte bei der Arbeit mit bestimmten Aktionen aufgerufen werden:
| Trigger (Tastatur)-Optionen | Beschreibung |
| :---: | ---|
| **`ID der Taste`** | Der ID-Wert der Taste, die als Trigger gedrückt wurde. |
| **`Trigger-Zeitstempel (Unixzeit)`** | Der Zeitstempel, wann der Trigger im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger-Zeit (seit Rahmenbeginn)`** | Die vergangene Zeit in Millisekunden, gemessen vom Beginn des Rahmenbeginns bis zu dem Zeitpunkt, an dem der Trigger aufgetreten ist. |
#### Trigger (Buttonleiste)-Werte
Wenn ein [Button-Klick-Trigger](#button-click-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei der Arbeit mit bestimmten Aktionen aufgerufen werden:
| Trigger (Buttonleiste)-Optionen | Beschreibung |
| :---: | ---|
| **`Stimulus-Name`** | Der Name des Schaltflächenobjekts, das das Ereignis ausgelöst hat. |
| **`Stimulus-Info`** | Die Stimulus-Info des Schaltflächenobjekts, das das Ereignis ausgelöst hat. |
| **`Trigger-Zeitstempel (Unixzeit)`** | Der Zeitstempel, wann der Trigger im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger-Zeit (seit Rahmenbeginn)`** | Die vergangene Zeit in Millisekunden, gemessen vom Beginn des Rahmenbeginns bis zu dem Zeitpunkt, an dem der Trigger aufgetreten ist. |
#### Trigger (Eingabetaste)-Werte
Wenn ein [Eingabetaste-Trigger](#enter-on-input-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei der Arbeit mit bestimmten Aktionen aufgerufen werden:
| Trigger (Eingabetaste)-Optionen | Beschreibung |
| :---: | ---|
| **`ID der Taste`** | Der ID-Wert der Taste, die als Trigger gedrückt wurde. |
| **`Trigger-Zeitstempel (Unixzeit)`** | Der Zeitstempel, wann der Trigger im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger-Zeit (seit Rahmenbeginn)`** | Die vergangene Zeit in Millisekunden, gemessen vom Beginn des Rahmenbeginns bis zu dem Zeitpunkt, an dem der Trigger aufgetreten ist. |
#### Trigger (Scrollen)-Werte
Wenn ein [Scroll-Trigger](#scroll-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei der Arbeit mit bestimmten Aktionen aufgerufen werden:
| Trigger (Scrollen)-Optionen | Beschreibung |
| :---: | ---|
| **`Stimulus-Name`** | Der Name des Schaltflächenobjekts, das das Ereignis ausgelöst hat. |
| **`Stimulus-Info`** | Die Stimulus-Info des Schaltflächenobjekts, das das Ereignis ausgelöst hat. |
| **`Scrollposition X`** | Die Scrollposition in X der Maus, als das Ereignis ausgelöst wurde. |
| **`Scrollposition Y`** | Die Scrollposition in Y der Maus, als das Ereignis ausgelöst wurde. |
| **`Trigger-Zeitstempel (Unixzeit)`** | Der Zeitstempel, wann der Scrolltrigger im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger-Zeit (seit Rahmenbeginn)`** | Die vergangene Zeit in Millisekunden, gemessen vom Beginn des Rahmenbeginns bis zu dem Zeitpunkt, an dem der Scrolltrigger aufgetreten ist. |
#### Trigger (Gamepad/Joytick)-Werte
Wenn ein [`Gamepad/Joytick-Trigger`](#gamepad-joystick-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei der Arbeit mit bestimmten Aktionen aufgerufen werden:
<p style="text-align:center;">
<img width="80%" style="padding: 10px; border:1px solid #39AECB" height="auto" loading="lazy" src="/content_imgs/learn/guide/task-editor/imgs/events/gamepad_trigger_specific.png" alt="Optionsmenü des Gamepad-Triggers">
</p>
| Trigger (Gamepad/Joytick)-Optionen | Beschreibung |
| :---: | ---|
| **`Gamepad-Geräte-ID`** | Die ID oder der Name des angeschlossenen Gamepads. |
| **`Gedrückte Tasten (Array)`** | Die Tasten, die gedrückt wurden. |
| **`Gedrückte ODER gehaltene Tasten (Array)`** | Die Tasten, die gedrückt oder gehalten wurden. |
| **`Losgelassene Tasten (Array)`** | Die Tasten, die losgelassen wurden. |
| **`Achsen (Array)`** | Die Achswerten. |
| **`Gamepad-Zeitstempel (Unixzeit)`** | Der Gamepad-Zeitstempel in Unixzeit.|
| **`Trigger-Zeitstempel (Unixzeit)`** | Zeitstempel, wann der Trigger auftritt in Unixzeit. |
| **`Trigger-Zeit (seit Rahmenbeginn)`** | Zeitstempel in Unixzeit, wann der Trigger in Bezug auf den Rahmenbeginn auftritt. |
#### Trigger (Blickverfolgung)-Werte
Wenn ein [Blickverfolgungs-Trigger](#eyetracking-gaze-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei der Arbeit mit bestimmten Aktionen aufgerufen werden:
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/ET_gaze_trigger_specific_values.png" alt="Die Blicktrigger-Wertoptionen" width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
| Trigger (Blickverfolgung) Optionen | Beschreibung |
| :---: | --- |
| **`Koordinate X`** | Der Wert der X-Koordinate des Blicks. |
| **`Koordinate Y`** | Der Wert der Y-Koordinate des Blicks. |
| **`Koordinate [X,Y] Array`** | Die Blickkoordinaten X,Y im Array-Format. |
| **`Stimulus-Name`** | Der Name des Stimulus, der den Blicktrigger ausgelöst hat. |
| **`Stimulus-Info`** | Die Stimulus-Informationen hinter dem Stimulus, der den Blick-Trigger ausgelöst hat. |
| **`Kamerafangzeit T`** | Die genaue Zeit, als der Snapshot stattfand. Im Labvanced-Augenverfolgungspipeline erfolgt ein Kamerasnapshot zuerst, bevor der Algorithmus und das neuronale Netzwerk Blickberechnungen durchführen. Daher ist die `Kamerafangzeit T` ein UNIX-Zeitstempel, wann der ursprüngliche Snapshot stattfand. Für weitere Informationen über die Technologie hinter unserer webcam-basierten Augenverfolgung bitte unsere [ET-Technologieseite.](/content/technology/de/labvanced-eye-tracking/) |
| **`Blickvertrauenswert C`** | Dieser Wert reicht von 0 bis 1 und bezieht sich auf das Vertrauen und die Wahrscheinlichkeit, dass ein offenes Auge im Bild-Snapshot vorhanden ist, und fungiert im Wesentlichen als „Blinkdetektor“. Bitte beziehen Sie sich auf unser [veröffentlichtes, von Experten überprüftes Papier](https://link.springer.com/article/10.3758/s13428-023-02237-8) für weitere Details. |
| **`Koord. + Zeit [X,Y,T] Array`** | Ein Array, das die X/Y-Koordinaten des Blicks und den Zeitstempel der Kamerafangzeit (T) enthält, wie oben beschrieben. |
| **`Koord. + Zeit + Vertrauen [X,Y,T,C] Array`** | Ein Array, das die X/Y-Koordinaten des Blicks und den Zeitstempel der Kamerafangzeit (T) sowie das Blickvertrauen (C) enthält, wie oben beschrieben. |
| **`Trigger-Zeitstempel (Unixzeit)`** | Der Zeitstempel, wann der Blick-Trigger im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger-Zeit (seit Rahmenbeginn)`** | Die vergangene Zeit in Millisekunden, gemessen vom Beginn des Rahmenbeginns bis zu dem Zeitpunkt, an dem der Blicktrigger aufgetreten ist. |
#### Trigger(Blickfixation)-Werte
Wenn ein [Blickfixations-Trigger](#eyetracking-fixation-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei der Arbeit mit bestimmten Aktionen aufgerufen werden:
| Trigger (Blickfixation) Optionen | Beschreibung |
| :---: | ---|
| **`Fixationszentrum X`** | Der Mittelpunkt der Fixation als X-Wert. |
| **`Fixationszentrum Y`** | Der Mittelpunkt der Fixation als Y-Wert. |
| **`Fixationsdauer`** | Die Dauer der erkannten Fixation. |
| **`Fixationsstartzeit`** | Die Startzeit der erkannten Fixation. |
| **`Fixationsendzeit`** | Die Endzeit der erkannten Fixation. |
| **`Fixationsdispersion`** | Bezieht sich darauf, wie verstreut die Blickwerte innerhalb einer erkannten Fixation sind. |
| **`Stimulus-Name`** | Der Name des Schaltflächenobjekts, das das Ereignis ausgelöst hat. |
| **`Stimulus-Info`** | Die Stimulus-Info des Schaltflächenobjekts, das das Ereignis ausgelöst hat. |
| **`[X, Y, Dauer, Start, Ende, Disp]`** | Ein Array der folgenden: x- und y-Werte des Fixationszentrums, die Dauer der Fixation, die Startzeit, die Endzeit und der Dispersionwert. |
| **`Trigger-Zeitstempel (Unixzeit)`** | Der Zeitstempel, wann der Fixationstrigger im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger-Zeit (seit Rahmenbeginn)`** | Die vergangene Zeit in Millisekunden, gemessen vom Beginn des Rahmenbeginns bis zu dem Zeitpunkt, an dem der Fixationstrigger aufgetreten ist. |
#### Trigger (Kopfverfolgung)-Werte
Wenn ein [Kopfverfolgungs-Trigger](#headtracking-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei der Arbeit mit bestimmten Aktionen aufgerufen werden:
| Trigger (Kopfverfolgung) Optionen | Beschreibung |
| :---: | ---|
| **`Kamerafangzeit T`** | Wann die Kamera das Bild erfasst hat, d.h. ein Unix-Zeitstempel, wann die Bildaufnahme stattfand. Dies ist die Zeit, die das Bild / den Frame festhält, bevor eine Verarbeitung erfolgt. |
| **`Kopf drehen`** | Kopf drehen von links nach rechts, dies wird in der Literatur als Yaw bezeichnet. |
| **`Kopf neigen`** | Kopf neigen von oben nach unten, bekannt als Kopfneigung in der Literatur. |
| **`Kopf rollen`** | Erfasst die Bewegung des Kopfes, der von Seite zu Seite rollt. |
| **`Kopfposition [X,Y,T] Array`** | Dieses Array erfasst die mit der Kopfposition verbundenen numerischen Werte, dazu gehören die x- und y-Koordinaten für die Mitte des Kopfes sowie die Zeitstempelvariable (T). |
| **`Nasenposition [X,Y,T] Array`** | Dieses Array erfasst die mit der Nasenposition verbundenen numerischen Werte, dazu gehören die x- und y-Koordinaten, wo sich die Nase befindet, sowie die Zeitstempelvariable (T), wann die Messung stattfand. |
| **`Nasenvektor [X,Y,Z,T] Array`** | Diese Messung funktioniert, indem ein Vektor von der Nasenspitze projiziert wird, und ist nützlich, um zu testen, ob der Teilnehmer auf den Bildschirm schaut (das ist besonders wichtig für Studien, bei denen die Augenverfolgung nicht aktiviert ist). Wenn die Nase vom Bildschirm wegzeigt (d.h. der Teilnehmer nicht auf das Experiment achtet), sinkt der Z-Wert von 1 und nähert sich 0. |
| **`Trigger-Zeitstempel (Unixzeit)`** | Zeitpunkt während des Experiments, an dem der Trigger auftritt, und die Kopfverfolgung erkannt wird und berücksichtigt wird, wann der Trigger im System aufgetreten ist. Im Grunde ist dies der Zeitpunkt, an dem das Bild / der Frame verarbeitet wird, und dieser Wert wird größtenteils von der Grafikkarte des Teilnehmers beeinflusst. Theoretisch sollte es so nah wie möglich am Wert T liegen. |
| **`Trigger-Zeit (seit Rahmenbeginn)`** | Dies ist der Zeitwert, wann der Trigger in Bezug auf den Beginn des Frames aufgetreten ist. |
#### Trigger (Bei Aufgabeninitialisierung)-Werte
Wenn ein [Aufgabeninitialisierungs-Trigger](#task-init-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei der Arbeit mit bestimmten Aktionen aufgerufen werden:
| Trigger (Bei Aufgabeninitialisierung)-Optionen | Beschreibung |
| :---: | ---|
| **`Trigger-Zeitstempel (Unixzeit)`** | Der Unix-Zeitstempel des Triggers in Millisekunden. |
| **`Trigger-Zeit (seit Rahmenbeginn)`** | Die Zeit in Millisekunden, wann der Trigger seit der Rahmenbeginn-aufgetreten ist. |
#### Trigger (Bei Rahmeninitialisierung)-Werte
Wenn ein [Rahmeninitialisierungs-Trigger](#frame-init-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei der Arbeit mit bestimmten Aktionen aufgerufen werden:
| Trigger (Bei Rahmeninitialisierung)-Optionen | Beschreibung |
| :---: | ---|
| **`VersuchNr`** | Die Versuchnummer, als der Rahmeninitialisierungs-Trigger aufgetreten ist. |
| **`Trigger-Zeitstempel (Unixzeit)`** | Der Unix-Zeitstempel des Triggers in Millisekunden. |
| **`Trigger-Zeit (seit Rahmenbeginn)`** | Die Zeit in Millisekunden, wann der Trigger seit der Rahmenbeginn-aufgetreten ist. |
#### Trigger (Bei Rahmenstart)-Werte
Wenn ein [Rahmenstart-Trigger](#frame-start-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei der Arbeit mit bestimmten Aktionen aufgerufen werden:
| Trigger (Bei Rahmenstart)-Optionen | Beschreibung |
| :---: | ---|
| **`Trigger-Zeitstempel (Unixzeit)`** | Der Unix-Zeitstempel des Triggers in Millisekunden. |
| **`Trigger-Zeit (seit Rahmenbeginn)`** | Die Zeit in Millisekunden, wann der Trigger seit der Rahmenbeginn-aufgetreten ist. |
#### Trigger (Bei Rahmenende)-Werte
Wenn ein [Rahmenende-Trigger](#frame-end-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei der Arbeit mit bestimmten Aktionen aufgerufen werden:
| Trigger (Bei Rahmenende)-Optionen | Beschreibung |
| :---: | ---|
| **`Gesamtzeit des Rahmens`** | Die Gesamtzeit in Millisekunden, die im Rahmen verbracht wurde. |
| **`Trigger-Zeitstempel (Unixzeit)`** | Der Unix-Zeitstempel des Triggers in Millisekunden. |
| **`Trigger-Zeit (seit Rahmenbeginn)`** | Die Zeit in Millisekunden, wann der Trigger seit der Rahmenbeginn-aufgetreten ist. |
#### Trigger (Variablenwert geändert)-Werte
Wenn ein [Trigger für geänderte Variablenwerte](#variable-value-changed-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei der Arbeit mit bestimmten Aktionen aufgerufen werden:
| Trigger (Variablenwert geändert)-Optionen | Beschreibung |
| :---: | ---|
| **`Neuer Wert in der Variablen`** | Bezieht sich auf den neuen Wert einer Variablen. |
| **`Trigger-Zeitstempel (Unixzeit)`** | Der Zeitstempel, wann der Trigger für geänderte Variablenwerte im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger-Zeit (seit Rahmenbeginn)`** | Die vergangene Zeit in Millisekunden, gemessen vom Beginn des Rahmenbeginns bis zu dem Zeitpunkt, an dem der Variablenwert geändert wurde. |
#### Trigger (Medienobjekt-Trigger)-Werte
Wenn ein [Medienobjekt-Trigger](#media-object-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei der Arbeit mit bestimmten Aktionen aufgerufen werden:
| Trigger (Medienobjekt-Trigger)-Optionen | Beschreibung |
| :---: | ---|
| **`Trigger-Zeitstempel (Unixzeit)`** | Der Zeitstempel, wann der Medienobjekt-Trigger im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger-Zeit (seit Rahmenbeginn)`** | Die vergangene Zeit in Millisekunden, gemessen vom Beginn des Rahmenbeginns bis zu dem Zeitpunkt, an dem der Medienobjekt-Trigger aufgetreten ist. |
#### Trigger (Websocket-Trigger)-Werte
Wenn ein [Websocket-Trigger](#websocket-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei der Arbeit mit bestimmten Aktionen aufgerufen werden:
| Trigger (Websocket-Trigger)-Optionen | Beschreibung |
| :---: | ---|
| **`Nachricht`** | Eine Nachricht, die verwendet werden kann, um zu beschreiben und zu kennzeichnen, die es Ihnen (auf der empfangenden Seite) ermöglicht, zwischen verschiedenen Datentypen zu filtern. |
| **`Daten`** | Ein Wert, der verschiedene Arten von Daten speichern kann, wie z.B. Teilnehmerauswahlen, Zeitstempel, Maus-x/y-Koordinaten usw. |
| **`Trigger-Zeitstempel (Unixzeit)`** | Der Zeitstempel, wann der Websocket-Trigger im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger-Zeit (seit Rahmenbeginn)`** | Die vergangene Zeit in Millisekunden, gemessen vom Beginn des Rahmenbeginns bis zu dem Zeitpunkt, an dem der Websocket-Trigger aufgetreten ist. |
#### Trigger (OpenAI-Trigger)-Werte
Wenn ein [OpenAI-Trigger](#openai-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei der Arbeit mit bestimmten Aktionen aufgerufen werden:
| Trigger (OpenAI-Trigger)-Optionen | Beschreibung |
| :---: | ---|
| **`Chat GPT-Antwort`** | Der Wert der Antwort von ChatGPT. |
| **`Trigger-Zeitstempel (Unixzeit)`** | Der Zeitstempel, wann der OpenAI-Trigger im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger-Zeit (seit Rahmenbeginn)`** | Die vergangene Zeit in Millisekunden, gemessen vom Beginn des Rahmenbeginns bis zu dem Zeitpunkt, an dem der OpenAI-Trigger aufgetreten ist. |
#### Trigger (Globales Experiment-Event)-Werte
Wenn ein [Pause/Resume-Experiment-Trigger](#pause-resume-experiment) verwendet wird, können die folgenden trigger-spezifischen Werte bei der Arbeit mit bestimmten Aktionen aufgerufen werden:
| Trigger (Globales Experiment-Event)-Optionen | Beschreibung |
| :---: | ---|
| **`Gesamtzeit des Rahmens`** | Bezieht sich auf die Gesamtzeit des Rahmens, die vor dem Trigger gewährt wurde. |
| **`Grund für das globale Ereignis`** | Ein Stringwert, der den Grund des Triggers angibt, z.B. wenn ein Teilnehmer die Studie verlässt. |
| **`Trigger-Zeitstempel (Unixzeit)`** | Der Zeitstempel, wann der globale Ereignis-Trigger im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger-Zeit (seit Rahmenbeginn)`** | Die vergangene Zeit in Millisekunden, gemessen vom Beginn des Rahmenbeginns bis zu dem Zeitpunkt, an dem der globale Ereignis-Trigger aufgetreten ist. |
#### Trigger (Teilnehmer verlässt Experiment)-Werte
Wenn ein [Teilnehmer, der eine Multiuser-Studie verlässt, Trigger](#participant-left-multiuser-study) verwendet wird, können die folgenden trigger-spezifischen Werte bei der Arbeit mit bestimmten Aktionen aufgerufen werden:
| Trigger (Teilnehmer verlässt Experiment) Optionen | Beschreibung |
| :---: | ---|
| **`Verbleibende Anzahl der Teilnehmer `** | Die Anzahl der Teilnehmer, die in der Studie verblieben sind. |
| **`Trigger-Zeitstempel (Unixzeit)`** | Der Zeitstempel, wann der Trigger „Teilnehmer verlässt Experiment“ im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger-Zeit (seit Rahmenbeginn)`** | Die vergangene Zeit in Millisekunden, gemessen vom Beginn des Rahmenbeginns bis zu dem Zeitpunkt, an dem der Trigger „Teilnehmer verlässt Experiment“ aufgetreten ist. |
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495