Regler#
Einführung#
Der V5-Controller verfügt über Tasten, zwei Joysticks, einen Vibrationsmotor und ein Display. Controller-Blöcke können verwendet werden, um Tastendrücke zu überprüfen, Joystick-Bewegungen auszulesen, den Controller vibrieren zu lassen, konfigurierte Controller-Aktionen zu aktivieren oder zu deaktivieren, Blöcke bei Controller-Ereignissen auszuführen oder Text auf dem Controller-Display anzuzeigen.
Konfigurierte Controller-Aktionen sind im Menü „Geräte“ festgelegte Controller-Verhaltensweisen. Verwenden Sie den Block „Controller aktivieren/deaktivieren“, um diese konfigurierten Aktionen während eines Projekts vorübergehend zu aktivieren oder zu deaktivieren.
Nachfolgend finden Sie eine Liste der verfügbaren Blöcke:
Werte – Status der Controller-Tasten prüfen oder Joystick-Position auslesen.
Controller gedrückt? — Gibt zurück, ob eine ausgewählte Controller-Taste gedrückt wird.
Controller position — Gibt die Joystick-Position entlang einer ausgewählten Achse zurück.
Aktionen – Den Controller vibrieren lassen, konfigurierte Controller-Aktionen aktivieren/deaktivieren oder Blöcke ausführen, wenn sich die Controller-Eingabe ändert.
Vibration auf Controller abspielen — Spielt ein Vibrationsmuster auf einem Controller ab.
Controller aktivieren/deaktivieren — Aktiviert oder deaktiviert Controller-Aktionen, die im Menü „Geräte“ für alle angeschlossenen Controller konfiguriert sind.
wenn Controller-Taste gedrückt — Führt den zugehörigen Stack aus, wenn eine ausgewählte Taste gedrückt oder losgelassen wird.
wenn die Controller-Achse geändert wird — Führt den zugehörigen Stack aus, wenn sich die Position eines Joysticks entlang der ausgewählten Achse ändert.
Bildschirm – Anzeige von Text und Zahlen auf dem Controller-Bildschirm.
print on controller — Zeigt Text, Zahlen oder Variablenwerte auf dem Controller-Bildschirm an.
set cursor to row column on controller — Bewegt den Cursor auf eine bestimmte Zeile und Spalte auf dem Controller-Bildschirm.
set cursor to next row on controller — Bewegt den Cursor auf die nächste Zeile auf dem Controller-Bildschirm.
Druckgenauigkeit auf dem Controller einstellen — Legt fest, wie viele Dezimalstellen angezeigt werden, wenn Zahlen auf dem Controller-Bildschirm ausgegeben werden.
clear controller — Löscht alle Zeilen auf dem Controller-Bildschirm.
Zeile auf dem Controller löschen — Löscht eine Zeile auf dem Controller-Bildschirm.
Werte#
Controller gedrückt?#
Der boolesche Block Controller gedrückt? gibt zurück, ob eine ausgewählte Controller-Taste gedrückt wird.

<[Controller1 v] [▲ v] gedrückt?>
Parameter |
Beschreibung |
|---|---|
Gerät |
Der zu verwendende Controller wird im Gerätefenster konfiguriert. |
Taste |
Die zu prüfende Taste:
|
Beispiel
wenn gestartet
[Drive forward while X is pressed.]
für immer
wenn <[Controller1 v] [X v] gedrückt?> dann
fahre [vorwärts v]
sonst
Fahren stoppen
Ende
Ende
Controller-Position#
Der Controller-Positions-Reporterblock gibt die Joystick-Position entlang einer ausgewählten Achse als Zahl von -100 bis 100 zurück.

([Controller1 v] [1 v] position :: sensing)
Parameter |
Beschreibung |
|---|---|
Gerät |
Der zu verwendende Controller wird im Gerätefenster konfiguriert. |
Achse |
Die zu meldenden Joystick-Achsen:
|
Beispiel
wenn gestartet
[Drive forward while the left joystick is pushed up.]
für immer
wenn <([Controller1 v] [3 v] position :: sensing) [math_greater_than v] [0]> dann
fahre [vorwärts v]
sonst
Fahren stoppen
Ende
Ende
Aktionen#
Rumble auf dem Controller aktivieren#
Der Play Rumble on Controller-Stapelblock gibt ein Rumble-Muster auf dem Controller wieder.
spiele Rumble [Lang v] auf [Controller1 v]
Parameter |
Beschreibung |
|---|---|
Muster |
Das Vibrationsmuster für den Controller:
|
Gerät |
Der zu verwendende Controller wird im Gerätefenster konfiguriert. |
Beispiel
wenn[Controller1 v] Taste [R1 v] [gedrückt v] :: hat events
spiele Rumble [Kurz v] auf [Controller1 v]
Controller aktivieren/deaktivieren#
Der Controller aktivieren/deaktivieren-Block aktiviert oder deaktiviert die im Gerätemenü konfigurierten Controller-Aktionen für alle angeschlossenen Controller.
Controller [Deaktivieren v]
Parameter |
Beschreibung |
|---|---|
Zustand |
Der Controller konfigurierte Aktionsstatus: Deaktivieren oder Aktivieren. |
Beispiel
wenn gestartet
[Disable Controller configured actions until the drive movement is done.]
Controller [Deaktivieren v]
fahre [vorwärts v] für (6) [Zoll v] ▶
Controller [Aktivieren v]
wenn die Controller-Achse geändert wird#
Der Hat-Block wenn die Controller-Achse geändert wird führt den zugehörigen Stack aus, wenn sich die Position eines Joysticks entlang der ausgewählten Achse ändert.

when [Controller1 v] axis [1 v] is changed :: hat events
Parameter |
Beschreibung |
|---|---|
Gerät |
Der zu verwendende Controller wird im Gerätefenster konfiguriert. |
Achse |
Die zu überprüfenden Joystick-Achsen:
|
Beispiel
when [Controller1 v] axis [3 v] is changed :: hat events
[Drive forward when the joystick's position changes along axis 3.]
fahre [vorwärts v] für (200) [mm v] ▶
Bildschirm#
Drucken auf Controller#
Der print on controller-Stackblock zeigt Text, Zahlen oder Variablenwerte auf dem Controller-Bildschirm an der aktuellen Cursorposition an.
drucke [VEXcode] auf [Controller1 v] ▶ :: custom-controller-inertial-timer
Parameter |
Beschreibung |
|---|---|
Wert |
Der Text, die Zahl oder der Variablenwert, der auf dem Controller-Bildschirm angezeigt werden soll. |
Gerät |
Der zu verwendende Controller wird im Gerätefenster konfiguriert. |
sich ausdehnender Pfeil |
Erweitert den Block um die Option „Cursor auf nächste Zeile setzen“, wodurch der Cursor nach der Ausgabe des Wertes in die nächste Zeile springt. Wird diese Option nicht verwendet, erscheint der nächste ausgegebene Wert direkt im Anschluss an den vorherigen Wert in derselben Zeile. |
Beispiel
wenn gestartet
[Display a message on the Controller screen.]
drucke [Hello, robot!] auf [Controller1 v] ▶ :: custom-controller-inertial-timer
Cursor auf Zeile/Spalte im Controller setzen#
Der Stack-Block set cursor to row column on controller positioniert den Cursor auf der Controller-Anzeige in der angegebenen Zeile und Spalte. Der nächste auszugebende Wert erscheint an dieser Position.
setze Cursor auf Zeile [1] Spalte [1] auf [Controller1 v] :: custom-controller-inertial-timer
Parameter |
Beschreibung |
|---|---|
Reihe |
Die Zeile, in die der Cursor auf dem Controller-Bildschirm bewegt werden soll. |
Spalte |
Die Spalte, in die der Cursor auf dem Controller-Bildschirm bewegt werden soll. |
Gerät |
Der zu verwendende Controller wird im Gerätefenster konfiguriert. |
Beispiel
wenn gestartet
[Display a message on row 2.]
setze Cursor auf Zeile [2] Spalte [1] auf [Controller1 v] :: custom-controller-inertial-timer
drucke [Ready] auf [Controller1 v] ▶ :: custom-controller-inertial-timer
Cursor auf die nächste Zeile im Controller setzen#
Der Stack-Block set cursor to next row on controller bewegt den Cursor in die erste Spalte der nächsten Zeile des Controller-Bildschirms. Der nächste auszugebende Wert erscheint in dieser Zeile.
setze Cursor in nächste Zeile auf [Controller1 v] :: custom-controller-inertial-timer
Parameter |
Beschreibung |
|---|---|
Gerät |
Der zu verwendende Controller wird im Gerätefenster konfiguriert. |
Beispiel
wenn gestartet
[Display two rows of text.]
drucke [Row 1] auf [Controller1 v] ▶ :: custom-controller-inertial-timer
setze Cursor in nächste Zeile auf [Controller1 v] :: custom-controller-inertial-timer
drucke [Row 2] auf [Controller1 v] ▶ :: custom-controller-inertial-timer
Druckgenauigkeit am Controller einstellen#
Der Druckgenauigkeit auf dem Controller festlegen-Block bestimmt, wie viele Dezimalstellen beim Drucken von Zahlen auf dem Controller-Bildschirm angezeigt werden. Diese Einstellung gilt für Zahlen, die nach Verwendung dieses Blocks gedruckt werden.
setze Druckgenauigkeit auf [0.1 v] auf [Controller1 v] :: custom-controller-inertial-timer
Parameter |
Beschreibung |
|---|---|
Präzision |
Die zu verwendende Druckgenauigkeit:
|
Gerät |
Der zu verwendende Controller wird im Gerätefenster konfiguriert. |
Beispiel
wenn gestartet
[Display 1/3 with two decimals.]
setze Druckgenauigkeit auf [0.01 v] auf [Controller1 v] :: custom-controller-inertial-timer
drucke ([1] [math_division v] [3]) auf [Controller1 v] ▶ :: custom-controller-inertial-timer
Clear Controller#
Der Controller löschen-Stapelblock löscht alle Zeilen auf dem Controller-Bildschirm und setzt den Cursor zurück in die erste Zeile.
lösche [Controller1 v] :: custom-controller-inertial-timer
Parameter |
Beschreibung |
|---|---|
Gerät |
Der zu verwendende Controller wird im Gerätefenster konfiguriert. |
Beispiel
wenn gestartet
[Clear the Controller screen after printing.]
drucke [This will disappear...] auf [Controller1 v] ▶ :: custom-controller-inertial-timer
warte [2] Sekunden
lösche [Controller1 v] :: custom-controller-inertial-timer
Zeile auf dem Controller löschen#
Der Zeile auf dem Controller löschen-Stapelblock löscht eine einzelne Zeile auf dem Controller-Bildschirm.
lösche Zeile [1] auf [Controller1 v] :: custom-controller-inertial-timer
Parameter |
Beschreibung |
|---|---|
Reihe |
Die Zeile, die auf dem Controller-Bildschirm gelöscht werden soll. |
Gerät |
Der zu verwendende Controller wird im Gerätefenster konfiguriert. |
Beispiel
wenn gestartet
[Clear one row on the Controller screen.]
drucke [Row 1] auf [Controller1 v] ▶ :: custom-controller-inertial-timer
setze Cursor in nächste Zeile auf [Controller1 v] :: custom-controller-inertial-timer
drucke [Row 2] auf [Controller1 v] ▶ :: custom-controller-inertial-timer
warte [2] Sekunden
lösche Zeile [1] auf [Controller1 v] :: custom-controller-inertial-timer