Bildschirm#
Einführung#
Die Klasse screen ist von der Basisklasse brain abgeleitet. Sie steuert, wie das V5 Brain Text, Zahlen und Grafiken auf seinem Touchscreen anzeigt und wie es auf Berührungseingaben reagiert.
Standardmäßig wird für den Druck auf Brain die Schriftart monospaced small verwendet, die 12 Zeilen und 48 Spalten hat.
Für Zeichenaufgaben beträgt die Auflösung des Brain 480 x 240 Pixel.

Zugang#
Auf die Klasse screen kann zugegriffen werden durch:
Brain.Screen
Anmerkungen#
Das Objekt
screenwird vom Gehirn bereitgestellt. Es wird nicht direkt konstruiert.Projekte verwenden ein einziges globales
BrainObjekt, daher werden Bildschirmfunktionen mitBrain.Screenaufgerufen.
Beispiel#
/* This constructor is required when using VS Code.
A Brain is generated automatically at the start of
VEXcode projects. */
// Create the V5 Brain
brain Brain = brain();
// Print text to the Brain screen
Brain.Screen.print("Hello!");
Mitgliedsfunktionen#
Die Klasse screen umfasst die folgenden Memberfunktionen:
print— Gibt formatierten Text, Zahlen oder boolesche Werte auf dem Brain-Bildschirm aus.setCursor— Verschiebt den Textcursor in eine angegebene Zeile und Spalte.newLine— Löscht den Rest der aktuellen Zeile und bewegt den Cursor in die nächste Zeile.clearLine— Löscht den Rest der aktuellen Zeile oder löscht eine angegebene Zeile.row— Gibt die Zeile zurück, in der der Text gedruckt werden soll.column— Gibt die Spalte zurück, in der der Text gedruckt werden soll.getStringHeight— Gibt die Höhe einer Zeichenkette in Pixeln unter Verwendung der aktuellen Schriftart zurück.getStringWidth— Gibt die Breite einer Zeichenkette in Pixeln unter Verwendung der aktuellen Schriftart zurück.printAt— Gibt formatierten Text an einer x, y Pixelposition aus.clearScreen— Löscht alle Zeichnungen und Texte vom Brain-Bildschirm.setFont— Legt die Schriftart fest, die für die Bildschirmausgabe verwendet wird.setPenWidth— Legt die Dicke der gezeichneten Linien und Formumrisse fest.setPenColor— Legt die Farbe von Text, Pixeln, Linien und Formumrissen fest.setFillColor— Legt die Füllfarbe für gezeichnete Formen und gedruckte Texthintergründe fest.setOrigin— Legt den Ursprung für die Bildschirmkoordinaten fest.setClipRegion— Beschränkt die Bildschirmausgabe auf einen rechteckigen Bereich.drawPixel— Zeichnet ein Pixel an einer Koordinate.drawLine— Zeichnet eine Linie zwischen zwei Punkten.drawRectangle— Zeichnet ein Rechteck an einer x, y Position mit einer festgelegten Größe.drawCircle— Zeichnet einen Kreis an einer x, y Position mit einem angegebenen Radius.drawImageFromFile— Zeichnet ein Bild aus einer SD-Kartendatei auf den Bildschirm.render— Aktiviert die Doppelpufferung oder gibt den Backbuffer auf dem Bildschirm aus.pressing— Gibt zurück, ob der Bildschirm gerade gedrückt wird.xPosition— Gibt die x-Koordinate des letzten Bildschirm-Touches zurück.yPosition— Gibt die y-Koordinate des letzten Bildschirm-Touches zurück.pressed— Registriert eine Rückruffunktion, die beim Drücken des Bildschirms ausgeführt wird.released— Registriert eine Callback-Funktion, die ausgeführt wird, wenn der Bildschirm nach dem Drücken losgelassen wird.
Bevor screen Memberfunktionen aufgerufen werden, muss eine brain Instanz erstellt werden, wie unten gezeigt:
// Create the V5 Brain
brain Brain = brain();
print#
Zeigt Text, Zahlen oder boolesche Werte auf dem V5 Brain-Bildschirm an.
Available Functions1 — Gibt formatierten Text mithilfe von Zeichenkettenliteralen oder schreibgeschützten C-Zeichenketten aus.
void print( const char* format, ... );
Parameters2 — Gibt formatierten Text mithilfe veränderbarer Zeichenarrays aus.
void print( char* format, ... );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Eine Formatzeichenkette, die als Zeichenkettenliteral oder als schreibgeschützte Zeichenkette im C-Stil angegeben wird (z. B. |
|
|
Eine Formatzeichenkette, die als veränderbares Zeichenarray bereitgestellt wird. |
|
Ein oder mehrere zusätzliche Werte, die durch Kommas getrennt in die Formatzeichenfolge eingefügt werden. |
Diese Funktion gibt keinen Wert zurück.
NotesDie Ausgabe beginnt an der Cursorposition auf dem Bildschirm.
Der gedruckte Text verwendet die Bildschirmschriftart.
Text, der mit
printgedruckt wird, wird immer mit einem Hintergrund gedruckt, wobei die Hintergrundfarbe durch die aktuelle Füllfarbe bestimmt wird.Bei Verwendung einer Formatzeichenfolge müssen die Anzahl und die Typen der übergebenen Werte mit den Formatbezeichnern in der Zeichenfolge übereinstimmen.
// Display a message at the starting cursor
Brain.Screen.print("Hello, Robot!");

setCursor#
Bewegt den Cursor zu einer bestimmten Zeile und Spalte auf dem V5 Brain-Bildschirm. Der nächste Aufruf von print beginnt die Ausgabe an dieser Position.
void setCursor(
int32_t row,
int32_t col );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die Zeile, in die der Cursor bewegt werden soll. |
|
|
Die Spalte, in die der Cursor bewegt werden soll. |
Diese Funktion gibt keinen Wert zurück.
NotesBeeinflusst, wo die nachfolgende Textausgabe beginnt, wenn
printverwendet wird.Zeilen und Spalten basieren auf der aktuell eingestellten Bildschirmschriftart.
Die Standardschriftart (
mono20) verwendet 12 Zeilen und 48 Spalten.Der Aufruf von
setCursorbeeinflusst nur die Position der nachfolgenden Textausgabe.
// Display text starting at Row 3 Column 12
Brain.Screen.setCursor(3, 12);
Brain.Screen.print("Row 3, Column 12");

newLine#
Bewegt den Cursor an den Anfang der nächsten Zeile auf dem Gehirn-Bildschirm.
Available Functionsvoid newLine();
Diese Funktion akzeptiert keine Parameter.
Return ValuesDiese Funktion gibt keinen Wert zurück.
NotesBefindet sich der Cursor mitten in einem Satz, löscht
newLineden Rest der Zeile nach dem Cursor, bevor zur nächsten Zeile gewechselt wird.Nach dem Aufruf von
newLinewird der Cursor in der ersten Spalte der nächsten Zeile positioniert.Die Cursorposition und die Zeilennummerierung werden mit
setCursorfestgelegt.
// Display two lines of text
Brain.Screen.print("Line 1");
Brain.Screen.newLine();
Brain.Screen.print("Line 2");

clearLine#
Löscht Text aus einer Zeile auf dem V5 Brain-Bildschirm.
Available Functions1 — Löscht den Rest der aktuellen Zeile ab der Cursorposition.
void clearLine();
2 — Löscht die angegebene Zeile mit der aktuell konfigurierten Füllfarbe.
void clearLine( int number );
3 — Löscht die angegebene Zeile mithilfe eines vordefinierten oder benutzerdefinierten Farbobjekts.
void clearLine( int number, const color& color );
4 — Löscht die angegebene Zeile mithilfe eines hexadezimalen Farbwerts.
void clearLine( int number, const char* color );
Parameters5 — Löscht die angegebene Zeile anhand eines Farbtonwerts.
void clearLine( int number, int hue );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die zu löschende Zeilennummer. Die Zeilennummerierung beginnt bei |
|
|
Löscht die Zeile mit einem
|
|
|
Löscht die Zeile mithilfe eines hexadezimalen Farbwerts (z. B. |
|
|
Löscht die Zeile mit einem ganzzahligen Farbtonwert im Bereich |
Diese Funktion gibt keinen Wert zurück.
NotesDas Löschen einer Zeile ändert die aktuelle Cursorposition nicht.
Die Cursorposition und die Zeilennummerierung werden mit
setCursorfestgelegt.Der Parameterwert
huebasiert auf einem kreisförmigen Farbkreis, wie unten dargestellt, wobei die Werte Gradzahlen auf dem Kreis darstellen (zum Beispiel Rot nahe 0°, Grün nahe 120° und Blau nahe 240°).

// Display text on two rows
Brain.Screen.print("This text stays");
Brain.Screen.newLine();
Brain.Screen.print("This disappears");
// Wait 3 seconds before clearing row 2
wait(3, seconds);
Brain.Screen.clearLine(2);
row#
Gibt die Zeile zurück, in der der Text auf dem V5 Brain-Bildschirm ausgegeben werden soll.
Available Functionsint32_t row();
Diese Funktion akzeptiert keine Parameter.
Return ValuesGibt einen int32_t zurück, der die Zeile darstellt, in der der Text ausgegeben wird.
Die Zeilennummerierung beginnt bei 1.
NotesDie Cursorposition basiert auf der Bildschirmschriftart.
Der zurückgegebene Wert gibt an, wo die nächste Ausgabe erscheinen wird.
Der Zeilenwert ändert sich, wenn Text gedruckt wird oder wenn
setCursoraufgerufen wird.
// Display the cursor's current row
Brain.Screen.setCursor(3, 12);
Brain.Screen.print(Brain.Screen.row());

column#
Gibt die Spalte zurück, in der der Text auf dem V5 Brain-Bildschirm ausgegeben wird.
Available Functionsint32_t column();
Diese Funktion akzeptiert keine Parameter.
Return ValuesGibt einen int32_t zurück, der die Spalte darstellt, in der der Text ausgegeben werden soll.
Die Spaltennummerierung beginnt bei 1.
NotesDie Cursorposition basiert auf der Bildschirmschriftart.
Der zurückgegebene Wert gibt an, wo die nächste Ausgabe erscheinen wird.
Der Spaltenwert ändert sich, wenn Text gedruckt wird oder wenn
setCursoraufgerufen wird.
// Display the cursor's current column
Brain.Screen.setCursor(5, 15);
Brain.Screen.print(Brain.Screen.column());

getStringHeight#
Gibt die Höhe eines Strings in Pixeln zurück, wenn dieser auf dem V5 Brain-Bildschirm gerendert wird.
Available Functionsint32_t getStringHeight(
const char* cstr );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Der zu messende Text wird als C-Style-String angegeben (zum Beispiel |
Gibt einen int32_t zurück, der die Höhe der Zeichenkette in Pixeln bei der Darstellung auf dem Brain-Bildschirm repräsentiert.
Die zurückgegebene Höhe hängt von aktuell ausgewählten Bildschirmschriftart ab.
Diese Funktion misst die Zeichenkette, ohne sie auf dem Bildschirm darzustellen.
Die zurückgegebene Höhe gibt an, wie die Zeichenkette beim Drucken aussehen würde.
getStringWidth#
Gibt die Breite einer Zeichenkette in Pixeln zurück, wenn sie auf dem V5 Brain-Bildschirm gerendert wird.
Available Functionsint32_t getStringWidth(
const char* cstr );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Der zu messende Text wird als C-Style-String angegeben (zum Beispiel |
Gibt einen int32_t zurück, der die Breite der Zeichenkette in Pixeln bei der Darstellung auf dem Brain-Bildschirm repräsentiert.
Die zurückgegebene Breite hängt von aktuell ausgewählten ab.
Diese Funktion misst die Zeichenkette, ohne sie auf dem Bildschirm darzustellen.
Die zurückgegebene Breite gibt an, wie die Zeichenkette beim Drucken aussehen würde.
printAt#
Gibt Text, Zahlen oder boolesche Werte an einer bestimmten Koordinate auf dem V5 Brain-Bildschirm aus.
Available Functions1 — Gibt formatierte Ausgabe an der angegebenen Pixelposition aus.
void printAt( int32_t x, int32_t y, const char* format, ... );
Parameters2 — Gibt formatierten Text an der angegebenen Pixelposition aus und legt fest, ob der Texthintergrund deckend oder transparent ist.
void printAt( int32_t x, int32_t y, bool bOpaque, const char* format, ... );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die x-Position, an der gedruckt werden soll, bezogen auf den Bildschirmursprung. |
|
|
Die y-Position, an der gedruckt werden soll, bezogen auf den Bildschirmursprung. |
|
|
Steuert, ob der gedruckte Text deckend oder transparent dargestellt wird:
|
|
|
Eine Formatzeichenfolge, die steuert, was auf dem Bildschirm ausgegeben wird (zum Beispiel |
|
Ein oder mehrere zusätzliche Werte, die durch Kommas getrennt in die Formatzeichenfolge eingefügt werden. |
Diese Funktion gibt keinen Wert zurück.
NotesDie Koordinaten
xundybeziehen sich auf den aktuellen Bildschirmursprung, der mitsetOrigingeändert werden kann.Der gedruckte Text verwendet die Bildschirmschriftart.
Bei Verwendung einer Formatzeichenfolge müssen die Anzahl und die Typen der übergebenen Werte mit den Formatbezeichnern in der Zeichenfolge übereinstimmen.
// Print "Center" at the center of the screen
Brain.Screen.printAt(220, 120, "Center");

clearScreen#
Löscht alle Zeichnungen und Texte vom Brain-Bildschirm und setzt die Cursorposition auf Zeile 1, Spalte 1 zurück.
Available Functions1 — Der Bildschirm wird schwarz.
void clearScreen();
2 — Löscht den Bildschirm mithilfe eines vordefinierten oder benutzerdefinierten Farbobjekts.
void clearScreen( const color& color );
3 — Löscht den Bildschirm mithilfe eines hexadezimalen Farbwerts.
void clearScreen( const char* color );
Parameters4 — Löscht den Bildschirm mithilfe eines Farbtonwerts.
void clearScreen( int hue );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Löscht den Bildschirm mit einem
|
|
|
Löscht den Bildschirm mit einem hexadezimalen Farbwert, der als Zeichenkette dargestellt wird (z. B. |
|
|
Löscht den Bildschirm mit einem ganzzahligen Farbtonwert im Bereich |
Diese Funktion gibt keinen Wert zurück.
NotesDer Parameterwert
huebasiert auf einem kreisförmigen Farbkreis, wie unten dargestellt, wobei die Werte Gradzahlen auf dem Kreis darstellen (zum Beispiel Rot nahe 0°, Grün nahe 120° und Blau nahe 240°).

// Clear screen after 2 seconds
Brain.Screen.print("VEXcode");
wait(2, seconds);
Brain.Screen.clearScreen();
// Clear screen to blue after 2 seconds
Brain.Screen.print("VEXcode");
wait(2, seconds);
Brain.Screen.clearScreen(blue);

setFont#
Legt die Schriftart für den auf dem V5 Brain-Bildschirm angezeigten Text fest.
Dies steuert die Schriftart, die bei der Verwendung von Bildschirmtextfunktionen wie print auf die nachfolgende Textausgabe angewendet wird.
void setFont(
fontType font );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Sets the font to one of the following:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
Diese Funktion gibt keinen Wert zurück.
Examples// Print larger text
Brain.Screen.setFont(mono40);
Brain.Screen.print("VEX");

// Print in Chinese
Brain.Screen.setFont(fontType::cjk16);
Brain.Screen.print("VEX机器人");

setPenWidth#
Legt die Strichstärke und Konturstärke von gezeichneten Linien fest.
Available Functionsvoid setPenWidth(
uint32_t width );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die Stiftbreite in Pixeln, von 0 bis 32. |
Diese Funktion gibt keinen Wert zurück.
NotesDie Stiftbreite gilt für Zeichenfunktionen wie
drawLine,drawRectangleunddrawCircle.
// Draw a rectangle with a pen width of 10
Brain.Screen.setPenWidth(10);
Brain.Screen.drawRectangle(50, 50, 130, 60);

setPenColor#
Legt die Farbe von Text, Pixeln, Linien und Formkonturen fest.
Available Functions1 — Legt die Stiftfarbe mithilfe eines vordefinierten oder benutzerdefinierten Farbobjekts fest.
void setPenColor( const color& color );
2 — Legt die Stiftfarbe mithilfe eines hexadezimalen Farbwerts fest.
void setPenColor( const char* color );
Parameters3 — Legt die Stiftfarbe mithilfe eines Farbtonwerts fest.
void setPenColor( int hue );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Legt die Stiftfarbe mithilfe eines
|
|
|
Legt die Stiftfarbe mithilfe eines hexadezimalen Farbwerts fest, der als Zeichenkette dargestellt wird (zum Beispiel |
|
|
Die Stiftfarbe wird mithilfe eines ganzzahligen Farbtonwerts im Bereich |
Diese Funktion gibt keinen Wert zurück.
NotesDie Standardstiftfarbe zu Beginn eines Projekts ist
white.Die Stiftfarbe wird für Umrisse von Formen (z. B. mit
drawCircleoderdrawRectangle), Text- und numerische Ausgaben (mitprintundprintAt) sowie für einzelne Pixel verwendet, die mitdrawPixelgezeichnet werden.Der Parameterwert
huebasiert auf einem kreisförmigen Farbkreis, wie unten dargestellt, wobei die Werte Gradzahlen auf dem Kreis darstellen (zum Beispiel Rot nahe 0°, Grün nahe 120° und Blau nahe 240°).

// Draw a rectangle with orange borders
Brain.Screen.setPenColor(orange);
Brain.Screen.drawRectangle(50, 50, 130, 60);

setFillColor#
Legt die Füllfarbe fest, die beim Zeichnen von Formen verwendet wird.
Available Functions1 — Legt die Füllfarbe mithilfe eines vordefinierten oder benutzerdefinierten Farbobjekts fest.
void setFillColor( const color& color );
2 — Legt die Füllfarbe mithilfe eines hexadezimalen Farbwerts fest.
void setFillColor( const char* color );
Parameters3 — Legt die Füllfarbe mithilfe eines Farbtonwerts fest.
void setFillColor( int hue );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Legt die Füllfarbe mithilfe eines
|
|
|
Legt die Füllfarbe mithilfe eines hexadezimalen Farbwerts fest, der als Zeichenkette dargestellt wird (z. B. |
|
|
Legt die Füllfarbe mithilfe eines ganzzahligen Farbtonwerts im Bereich |
Diese Funktion gibt keinen Wert zurück.
NotesDie Standardfüllfarbe zu Beginn eines Projekts ist
black.Die Füllfarbe wird für das Innere von Formen verwendet (z. B. mit
drawCircleoderdrawRectangle).Die Füllfarbe wird als Hintergrundfarbe für gedruckten Text verwendet (z. B. bei
printundprintAt).Bei Verwendung von
transparentmit gedrucktem Text wird der Hintergrundblacksein.
Der Parameterwert
huebasiert auf einem kreisförmigen Farbkreis, wie unten dargestellt, wobei die Werte Gradzahlen auf dem Kreis darstellen (zum Beispiel Rot nahe 0°, Grün nahe 120° und Blau nahe 240°).

// Draw a rectangle filled with purple
Brain.Screen.setFillColor(purple);
Brain.Screen.drawRectangle(50, 100, 130, 60);

setOrigin#
Legt den Ursprung fest, der für das Zeichnen und koordinatenbasierte Drucken auf dem Brain-Bildschirm verwendet wird.
Available Functionsvoid setOrigin(
int32_t x,
int32_t y );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die x-Position des Ursprungs relativ zur oberen linken Ecke des Gehirnbildschirms von 0 bis 479. |
|
|
Die y-Position des Ursprungs relativ zur oberen linken Ecke des Gehirn-Bildschirms von 0 bis 239. |
Diese Funktion gibt keinen Wert zurück.
NotesDer Standardursprung ist die obere linke Ecke des Bildschirms an der Koordinate (0, 0).
Der Ursprung gilt für Koordinatenfunktionen wie
drawLine,drawRectangle,drawCircleundprintAt.Der Ursprung bleibt so lange aktiv, bis er erneut geändert oder das Projekt zurückgesetzt wird.
setClipRegion#
Definiert einen rechteckigen Bereich auf dem Bildschirm, in dem alle Zeichnungen und Texte angezeigt werden. Inhalte außerhalb dieses Bereichs werden nicht angezeigt.
Available Functionsvoid setClipRegion(
int x,
int y,
int width,
int height );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die x-Koordinate der oberen linken Ecke des Clip-Bereichs, angegeben als ganze Zahl von 0 bis 479. |
|
|
Die y-Koordinate der oberen linken Ecke des Clip-Bereichs, angegeben als ganze Zahl von 0 bis 239. |
|
|
Die Breite des Clipping-Bereichs in Pixeln, angegeben als ganze Zahl von 0 bis 479. |
|
|
Die Höhe des Clipping-Bereichs in Pixeln, angegeben als ganze Zahl von 0 bis 239. |
Diese Funktion gibt keinen Wert zurück.
NotesDie Zeichenfunktionen werden auch dann ausgeführt, wenn sie außerhalb des Clipping-Bereichs liegen, aber nur der Teil innerhalb des Bereichs ist sichtbar.
Die Koordinaten
xundybeziehen sich auf den aktuellen Bildschirmursprung, der mitsetOrigingeändert werden kann.Der Clip-Bereich gilt nur für den aktuellen Thread.
Das Festlegen eines neuen Clipbereichs ersetzt jeden zuvor festgelegten Clipbereich für den aktuellen Thread.
// Restrict text and drawings to a specific region
Brain.Screen.setClipRegion(0, 0, 120, 120);
Brain.Screen.drawRectangle(60, 60, 100, 100, red);
Brain.Screen.printAt(60, 60, "Cut off!");

drawPixel#
Zeichnet einen Pixel auf dem V5 Brain-Bildschirm an der ausgewählten x- und y-Pixelposition.
Available Functionsvoid drawPixel(
int x,
int y );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die x-Koordinate, an der das Pixel gezeichnet werden soll, angegeben als ganze Zahl von 0 bis 479. |
|
|
Die y-Koordinate, an der das Pixel gezeichnet werden soll, angegeben als ganze Zahl von 0 bis 239. |
Diese Funktion gibt keinen Wert zurück.
NotesDie Pixel werden mit der aktuellen Stiftfarbe gezeichnet, die mit
setPenColorfestgelegt wird.Die Koordinaten
xundybeziehen sich auf den aktuellen Bildschirmursprung, der mitsetOriginfestgelegt werden kann.Wenn die angegebene Pixelposition außerhalb der Bildschirmgrenzen liegt, wird das Pixel nicht gezeichnet.
// Draw the pixels marking the corners of a square
Brain.Screen.drawPixel(250, 100);
Brain.Screen.drawPixel(275, 100);
Brain.Screen.drawPixel(250, 125);
Brain.Screen.drawPixel(275, 125);
![]()
drawLine#
Zeichnet eine gerade Linie, die zwei Punkte auf dem V5 Brain-Bildschirm verbindet.
Available Functionsvoid drawLine(
int x1,
int y1,
int x2,
int y2 );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die Start-x-Koordinate der Geraden, angegeben als ganze Zahl von 0 bis 479. |
|
|
Die Start-y-Koordinate der Geraden, angegeben als ganze Zahl von 0 bis 239. |
|
|
Die End-x-Koordinate der Geraden, angegeben als ganze Zahl von 0 bis 479. |
|
|
Die y-Endkoordinate der Geraden, angegeben als ganze Zahl von 0 bis 239. |
Diese Funktion gibt keinen Wert zurück.
NotesLinien werden mit der aktuell mit
setPenColorfestgelegten Stiftfarbe gezeichnet.Die Linienbreite wird durch die aktuelle Stiftbreite bestimmt, die mit
setPenWidtheingestellt wird.Die Koordinaten
xundybeziehen sich auf den aktuellen Bildschirmursprung, der mitsetOriginfestgelegt werden kann.Wenn ein Teil der Linie außerhalb des Bildschirmbereichs liegt, wird nur der sichtbare Teil gezeichnet.
// Draw a line from the top left to bottom right of the screen
Brain.Screen.drawLine(0, 0, 479, 239);

drawRectangle#
Zeichnet ein Rechteck an der angegebenen Position und Größe auf dem V5 Brain-Bildschirm.
Available Functions1 — Zeichnet und füllt ein Rechteck mit der aktuell konfigurierten Füllfarbe.
void drawRectangle( int x, int y, int width, int height );
2 — Zeichnet und füllt ein Rechteck mit einem vordefinierten oder benutzerdefinierten Farbe Objekt.
void drawRectangle( int x, int y, int width, int height, const color& color );
3 — Zeichnet und füllt ein Rechteck unter Verwendung eines hexadezimalen Farbwertes.
void drawRectangle( int x, int y, int width, int height, const char* color );
Parameters4 — Zeichnet und füllt ein Rechteck unter Verwendung eines Farbtonwertes.
void drawRectangle( int x, int y, int width, int height, int hue );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die x-Koordinate der oberen linken Ecke des Rechtecks, angegeben als ganze Zahl von 0 bis 479. |
|
|
Die y-Koordinate der oberen linken Ecke des Rechtecks, angegeben als ganze Zahl von 0 bis 239. |
|
|
Die Breite des Rechtecks, angegeben als ganze Zahl von 0 bis 479. |
|
|
Die Höhe des Rechtecks, angegeben als ganze Zahl von 0 bis 239. |
|
|
Füllt das Rechteck mit einem
|
|
|
Füllt das Rechteck mit einem hexadezimalen Farbwert (z. B. |
|
|
Füllt das Rechteck mit einem Farbtonwert im Bereich |
Diese Funktion gibt keinen Wert zurück.
NotesDie Rechteckkontur wird mit der aktuellen Stiftfarbe gezeichnet, die mit
setPenColorfestgelegt ist.Die Konturstärke wird durch die aktuelle Stiftbreite bestimmt, die mit
setPenWidthfestgelegt wird.Wird kein
colorParameter angegeben, wird das Innere des Rechtecks mit der aktuell mitsetFillColorfestgelegten Füllfarbe gefüllt.Die Koordinaten
xundybeziehen sich auf den aktuellen Bildschirmursprung, der mitsetOrigingeändert werden kann.Wenn ein Teil des Rechtecks außerhalb der Bildschirmgrenzen liegt, wird nur der sichtbare Teil gezeichnet.
Der Parameterwert
huebasiert auf einem kreisförmigen Farbkreis, wie unten dargestellt, wobei die Werte Gradzahlen auf dem Kreis darstellen (zum Beispiel Rot nahe 0°, Grün nahe 120° und Blau nahe 240°).

// Draw a rectangle on the screen
Brain.Screen.drawRectangle(50, 50, 130, 60);

drawCircle#
Zeichnet einen Kreis auf dem V5 Brain-Bildschirm an der angegebenen Position und mit dem angegebenen Radius.
Available Functions1 — Zeichnet und füllt einen Kreis mit der aktuell konfigurierten Füllfarbe.
void drawCircle( int x, int y, int radius );
2 — Zeichnet und füllt einen Kreis mit einem vordefinierten oder benutzerdefinierten Farbe Objekt.
void drawCircle( int x, int y, int radius, const color& color );
3 — Zeichnet und füllt einen Kreis unter Verwendung eines hexadezimalen Farbwertes.
void drawCircle( int x, int y, int radius, const char* color );
Parameters4 — Zeichnet und füllt einen Kreis unter Verwendung eines Farbtonwertes.
void drawCircle( int x, int y, int radius, int hue );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die x-Koordinate des Mittelpunkts des Kreises, angegeben als ganze Zahl von 0 bis 479. |
|
|
Die y-Koordinate des Mittelpunkts des Kreises, angegeben als ganze Zahl von 0 bis 239. |
|
|
Der Radius des Kreises, angegeben als ganze Zahl von 0 bis 239 Pixeln. |
|
|
Füllt den Kreis mit einem
|
|
|
Füllt den Kreis mit einem hexadezimalen Farbwert (z. B. |
|
|
Füllt den Kreis mit einem Farbtonwert im Bereich |
Diese Funktion gibt keinen Wert zurück.
NotesDie Kreiskontur wird mit der aktuell mit
setPenColorfestgelegten Stiftfarbe gezeichnet.Die Konturstärke wird durch die aktuelle Stiftbreite bestimmt, die mit
setPenWidthfestgelegt wird.Wird kein
colorParameter angegeben, wird das Innere des Kreises mit der aktuell mitsetFillColorfestgelegten Füllfarbe gefüllt.Die Koordinaten
xundybeziehen sich auf den aktuellen Bildschirmursprung, der mitsetOrigingeändert werden kann.Der Parameterwert
huebasiert auf einem kreisförmigen Farbkreis, wie unten dargestellt, wobei die Werte Gradzahlen auf dem Kreis darstellen (zum Beispiel Rot nahe 0°, Grün nahe 120° und Blau nahe 240°).

// Draw a circle on the screen
Brain.Screen.drawCircle(240, 120, 40);

drawImageFromFile#
Zeichnet ein Bild auf dem V5 Brain-Bildschirm mithilfe einer auf der SD-Karte gespeicherten Bilddatei.
Available Functionsbool drawImageFromFile(
const char* name,
int x,
int y );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
The filename of the image on the SD card. The file must have a |
|
|
Die x-Koordinate in Pixeln von 0 bis 479, an der der linke Rand des Bildes gezeichnet wird. |
|
|
Die y-Koordinate in Pixeln von 0 bis 239, an der die obere Kante des Bildes gezeichnet wird. |
Gibt einen booleschen Wert zurück, der angibt, ob das Bild erfolgreich gerendert wurde:
true— Das Bild wurde erfolgreich geladen und auf dem Bildschirm dargestellt.false— Das Bild konnte nicht gerendert werden (z. B. wenn die Datei nicht existiert oder ungültig ist).
Unterstützte Bildformate sind
.bmpund.png.Die Bilddateigröße darf
512 KBnicht überschreiten.Zur Minimierung der Dateigröße wird die 8-Bit-RLE-Codierung empfohlen.
Die maximal unterstützten Bildabmessungen entsprechen der Größe des Brain-Bildschirms (ca. 479 x 239 Pixel).
Die Koordinaten
xundybeziehen sich auf den aktuellen Bildschirmursprung, der mitsetOrigingeändert werden kann.
// Draw a bmp file on the Brain's screen at coordinate 0, 0
Brain.Screen.drawImageFromFile("test_image.bmp", 0, 0);
render#
Aktiviert die doppelte Pufferung für den Bildschirm des Brains. Nach dem Aufruf werden Zeichenfunktionen (wie Text, Formen oder Bilder) nicht mehr sofort für den Rest des Projekts angezeigt. Aktualisierungen werden erst sichtbar, wenn render erneut verwendet wird. Dies ermöglicht flüssigere und kontrolliertere Bildschirmaktualisierungen, bedeutet aber, dass erst nach der Verwendung von render etwas sichtbar ist.
1 — Aktiviert die Doppelpufferung oder gibt den Backbuffer auf dem Bildschirm aus.
bool render();
Parameters2 — Rendert den Backbuffer auf dem Bildschirm mit Kontrolle über das Verhalten der vertikalen Synchronisierung und optionaler Scheduler-Ausführung.
bool render( bool bVsyncWait, bool bRunScheduler = true );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
|
|
|
Optional.
|
Gibt einen booleschen Wert zurück, der angibt, ob die gespeicherten Zeichnungen im Puffer erfolgreich auf dem Bildschirm dargestellt wurden:
true— Die Zeichnungen wurden erfolgreich auf dem Bildschirm dargestellt.false— Die Zeichnungen konnten nicht auf dem Bildschirm dargestellt werden.
Notes
Der Aufruf von
rendererfordert die Verwendungrenderfür den Rest des Projekts.
Brain.Screen.render();
// Draw text to the back buffer
Brain.Screen.print("Render later...");
// Wait for a screen press to render drawings
while (!Brain.Screen.pressing()) {
wait(20, msec);
}
Brain.Screen.render();
pressing#
Meldet, ob der Bildschirm des V5 Brain gerade gedrückt wird.
Available Functionsbool pressing();
Diese Funktion akzeptiert keine Parameter.
Return ValuesGibt einen booleschen Wert zurück, der den aktuellen Status des Bildschirms angibt:true = Der Bildschirm wird gerade gedrückt. oder false = Der Bildschirm wird nicht gedrückt.
// Change the screen's color after it's pressed
while (Brain.Screen.pressing() == false) {
wait(5, msec);
}
Brain.Screen.setFillColor(green);
Brain.Screen.drawRectangle(0, 0, 479, 239);
// Display different messages after the screen is pressed
while (!Brain.Screen.pressing()) {
wait(5, msec);
}
Brain.Screen.print("First message!");
Brain.Screen.newLine();
// Lift finger to press the screen again
while (Brain.Screen.pressing()) {
wait(5, msec);
}
while (Brain.Screen.pressing() == false) {
wait(5, msec);
}
Brain.Screen.print("Second message!");
Brain.Screen.newLine();
xPosition#
Gibt die x-Koordinate des letzten Tastendrucks auf dem V5 Brain-Bildschirm zurück.
Available Functionsint32_t xPosition();
Diese Funktion akzeptiert keine Parameter.
Return ValuesGibt einen int32_t zurück, der die x-Koordinate in Pixeln von 0 bis 479 des letzten Bildschirmdrucks darstellt.
// Display a circle where the screen is pressed
while (Brain.Screen.pressing() == false) {
wait(5, msec);
}
Brain.Screen.drawCircle(Brain.Screen.xPosition(), Brain.Screen.yPosition(), 20, white);
yPosition#
Gibt die y-Koordinate des letzten Tastendrucks auf dem V5 Brain-Bildschirm zurück.
Available Functionsint32_t yPosition();
Diese Funktion akzeptiert keine Parameter.
Return ValuesGibt einen int32_t zurück, der die y-Koordinate in Pixeln von 0 bis 239 des letzten Bildschirmkontakts darstellt.
// Display a circle where the screen is pressed
while (Brain.Screen.pressing() == false) {
wait(5, msec);
}
Brain.Screen.drawCircle(Brain.Screen.xPosition(), Brain.Screen.yPosition(), 20, white);
pressed#
Registriert eine Funktion, die aufgerufen werden soll, wenn der Bildschirm des V5 Brain gedrückt wird.
Available Functions1 — Ruft eine Funktion auf, wenn der Bildschirm berührt wird.
void pressed( void (*callback)(void) );
Parameters2 — Ruft eine Funktion auf, wenn der Bildschirm gedrückt wird, und übergibt ein benutzerdefiniertes Argument an die Rückruffunktion.
void pressed( void (*callback)(void*), void* arg );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Eine Funktion, die beim Drücken des Bildschirms aufgerufen wird. |
|
|
Eine Funktion, die beim Drücken des Bildschirms aufgerufen wird und ein benutzerdefiniertes Argument empfängt. |
|
|
Ein benutzerdefinierter Wert, der an die Callback-Funktion übergeben wird, wenn der Bildschirm berührt wird. |
Diese Funktion gibt keinen Wert zurück.
NotesDie Callback-Funktion wird jedes Mal ausgeführt, wenn der Brain-Bildschirm berührt wird.
Only one callback function can be registered at a time; calling
pressedagain replaces the previous callback.Die Callback-Funktion muss
voidzurückgeben.
Definiere die Callback-Funktion (außerhalb von
int main())// Tracks how many times the screen is pressed. void onScreenPressed(void* arg) { int* count = (int*)arg; (*count)++; Brain.Screen.clearScreen(); Brain.Screen.setCursor(1, 1); Brain.Screen.print("Pressed %d times", *count); }Registriere den Callback innerhalb von
int main()int main() { int pressCount = 0; // Register the callback and pass a value to update. Brain.Screen.pressed(onScreenPressed, &pressCount); while (true) { wait(20, msec); } }
released#
Registriert eine Funktion, die aufgerufen werden soll, wenn der V5 Brain-Bildschirm nach dem Drücken losgelassen wird.
Available Functions1 — Ruft eine Funktion auf, wenn der Bildschirm nach dem Drücken losgelassen wird.
void released( void (*callback)(void) );
Parameters2 — Ruft eine Funktion auf, wenn der Bildschirm nach dem Drücken losgelassen wird, und übergibt ein benutzerdefiniertes Argument an die Rückruffunktion.
void released( void (*callback)(void*), void* arg );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Eine Funktion, die aufgerufen wird, wenn der Bildschirm nach dem Drücken losgelassen wird. |
|
|
Eine Funktion, die aufgerufen wird, wenn der Bildschirm nach dem Drücken losgelassen wird und die ein benutzerdefiniertes Argument erhält. |
|
|
Ein benutzerdefinierter Wert, der an die Callback-Funktion übergeben wird, wenn der Bildschirm nach dem Drücken losgelassen wird. |
Diese Funktion gibt keinen Wert zurück.
NotesDie Callback-Funktion wird jedes Mal ausgeführt, wenn der Brain-Bildschirm nach dem Drücken losgelassen wird.
Es kann immer nur eine Callback-Funktion registriert werden; durch erneutes Aufrufen von
releasedwird die vorherige Callback-Funktion ersetzt.Die Callback-Funktion muss
voidzurückgeben.
Definiere die Callback-Funktion (außerhalb von
int main())// Tracks how many times the screen is released. void onScreenReleased(void* arg) { int* count = (int*)arg; (*count)++; Brain.Screen.clearScreen(); Brain.Screen.setCursor(1, 1); Brain.Screen.print("Released %d times", *count); }Registriere den Callback innerhalb von
int main()int main() { int releaseCount = 0; // Register the callback and pass a value to update. Brain.Screen.released(onScreenReleased, &releaseCount); while (true) { wait(20, msec); } }










