Bildschirm#

Einführung#

Die Bildschirmmethoden steuern, wie das IQ (2. Generation) Brain Text, Zahlen und Grafiken auf seinem eingebauten Bildschirm anzeigt.

Für Zeichenaufgaben beträgt die Auflösung des Brain 160 x 108 Pixel.

Diese Seite verwendet brain als Beispielnamen für das Gehirn. Ersetzen Sie diesen bei Bedarf durch Ihren eigenen Namen.

Nachfolgend finden Sie eine Liste aller Methoden:

Cursor Print – Text platzieren und drucken.

  • print — Gibt Text, Zahlen oder Variablenwerte an der aktuellen Cursorposition aus.

  • set_cursor — Verschiebt den Cursor in eine bestimmte Zeile und Spalte.

  • next_row — Bewegt den Cursor in Spalte 1 der nächsten Zeile.

  • clear_row — Löscht eine Textzeile.

  • 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.

  • print_at — Gibt Text, Zahlen oder Variablenwerte an einer bestimmten x- und y-Koordinate aus.

  • get_string_width — Gibt die Breite einer Zeichenkette in Pixeln unter Verwendung der aktuellen Schriftart zurück.

  • get_string_height — Gibt die Höhe einer Zeichenkette in Pixeln unter Verwendung der aktuellen Schriftart zurück.

Mutatoren – Ändern Bildschirmeinstellungen, Farben und Zeichenverhalten.

  • clear_screen — Löscht alle Zeichnungen und Texte auf dem Bildschirm.

  • set_font — Legt die Schriftart für gedruckten Text fest.

  • set_pen_width — Legt die Dicke der gezeichneten Linien und Formumrisse fest.

  • set_pen_color — Legt die Farbe von Text, Pixeln, Linien und Formumrissen fest.

  • set_fill_color — Legt die Füllfarbe für gezeichnete Formen und gedruckte Texthintergründe fest.

  • set_origin — Legt den Ursprung fest, der für koordinatenbasiertes Drucken und Zeichnen verwendet wird.

Zeichnen – Grafiken auf dem Bildschirm hinzufügen.

  • draw_pixel — Zeichnet ein Pixel an einer Koordinate.

  • draw_line — Zeichnet eine Linie zwischen zwei Punkten.

  • draw_rectangle — Zeichnet ein Rechteck.

  • draw_circle — Zeichnet einen Kreis.

  • set_clip_region — Beschränkt, wo Zeichnungen und Text erscheinen können.

  • render — Aktualisiert den Bildschirm des Gehirns nur dann mit Text und Zeichnungen, wenn er aufgerufen wird.

Cursor Drucken#

print#

print gibt Text, Zahlen oder Variablenwerte auf dem Brain-Bildschirm an der aktuellen Cursorposition und Schriftart aus.

Usage:
brain.screen.print(text, precision, opaque)

Parameter

Beschreibung

text

Der Text, die Zahl oder der Variablenwert, der auf dem Bildschirm ausgegeben werden soll.

precision

Optional. Die Anzahl der Dezimalstellen, die bei der Anzeige von Zahlen angezeigt werden sollen. Dies muss als Schlüsselwortargument angegeben werden, z. B.:precision=3. Standardwert ist 2.

opaque

Optional. opaque=True – Der Texthintergrund wird mit der aktuellen Füllfarbe oder standardmäßig schwarz gefüllt. opaque=False (Standard) – Der Texthintergrund entspricht der Bildschirmhintergrundfarbe.

# Display a message at the starting
# cursor position
brain.screen.print("Hello, Robot!")

Ein Screenshot des VEX IQ Brain-Bildschirms zeigt in der ersten Zeile in weißer Schrift „Hallo, Roboter!“ an.

# Display a percentage with 4 decimal
# places and a blue background
brain.screen.set_fill_color(Color.BLUE)
brain.screen.print((42/100), precision = 4, opaque = True)

set_cursor#

set_cursor moves the cursor to a specific row and column on the Brain screen. The next print call will start printing at that location. How many rows and columns can comfortably fit depends on the selected font.

Monospaced fonts have characters that are all the same width, making text placement consistent. In contrast, proportional fonts vary in character width, so some letters take up more space than others. However, regardless of which type is used, set_cursor positions the cursor based on row and column size, not font style. The font size can be adjusted using set_font.

Usage:
brain.screen.set_cursor(row, column)

Parameter

Beschreibung

row

Die Zeile, in die der Cursor bewegt werden soll.

column

Die Spalte, in die der Cursor bewegt werden soll.

# Repeatedly print the Brain's timer at
# the top left of the screen
while True:
    brain.screen.print(brain.timer.time(SECONDS))
    brain.screen.next_row()
    wait(1, SECONDS)
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)

Ein Screenshot des IQ Brain-Bildschirms zeigt in der oberen linken Ecke die Zahl 23,19 in weißer Schrift an.

next_row#

next_row bewegt den Cursor in die Spalte 1 der nächsten Zeile auf dem Brain-Bildschirm.

Usage:
brain.screen.next_row()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

# Display two lines of text
brain.screen.print("Line 1")
brain.screen.next_row()
brain.screen.print("Line 2")

Ein Screenshot des IQ Brain-Bildschirms zeigt in der oberen linken Ecke in weißer Schrift „Zeile 1“ und direkt darunter „Zeile 2“.

clear_row#

clear_row löscht eine einzelne Textzeile auf dem Brain-Bildschirm.

Usage:
brain.screen.clear_row(row, color)

Parameter

Beschreibung

Reihe

Optional. Die zu löschende Zeile. Standardmäßig wird die Zeile der aktuellen Cursorposition verwendet.

Farbe

Optional. The color to apply to the cleared row. Options include:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
You can also specify a custom color.

# Display text on two rows
brain.screen.print("This text stays")
brain.screen.next_row()
brain.screen.print("This disappears")

# Wait 3 seconds before clearing
# only the second row
wait(3, SECONDS)
brain.screen.clear_row()

# Turn the 5th row green
brain.screen.clear_row(5, Color.GREEN)

row#

row gibt die Zeile zurück, in der der Text als ganze Zahl ausgegeben wird.

Usage:
brain.screen.row()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

# Set cursor to (3,2) and print 
# row number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

Ein Screenshot des IQ Brain-Bildschirms mit einer weißen Zahl 3, die ganz links auf dem Bildschirm, vertikal zentriert, in Zeile 3, Spalte 2 angezeigt wird.

column#

column gibt die Spalte zurück, in der der Text als ganze Zahl ausgegeben wird.

Usage:
brain.screen.column()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

# Set cursor to (3,2) and print 
# column number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.column())

Ein Screenshot des IQ Brain-Bildschirms mit einer weißen Zahl 2, die ganz links auf dem Bildschirm, vertikal zentriert, in Zeile 3, Spalte 2, aufgedruckt ist.

get_string_width#

get_string_width gibt die Breite eines Strings in Pixeln als Ganzzahl zurück, so wie er auf dem Bildschirm des Systems dargestellt würde. Die Breite variiert je nach Stringlänge und der aktuellen Schriftart.

Usage:
brain.screen.get_string_width(string)

Parameter

Beschreibung

string

Die zu messende Schnur.

get_string_height#

get_string_height gibt die Höhe eines Strings in Pixeln als Ganzzahl zurück, so wie er auf dem Brain-Bildschirm angezeigt würde. Die Höhe variiert je nach Stringlänge und der aktuellen Schriftart.

Usage:
brain.screen.get_string_height(string)

Parameter

Beschreibung

string

Die zu messende Schnur.

Mutatoren#

clear_screen#

clear_screen löscht alle Zeichnungen und Texte vom Bildschirm des Gehirns.

Usage:
brain.screen.clear_screen(color)

Parameter

Beschreibung

color

Optional. Sets the screen color. Options include:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
You can also specify a custom color.

# Draw a circle and clear it after 
# 2 seconds
brain.screen.draw_circle(80, 50, 20)
wait(2, SECONDS)
brain.screen.clear_screen()

# Turn the screen red
brain.screen.clear_screen(Color.RED)

Ein Screenshot des IQ Brain-Bildschirms, bei dem der gesamte druckbare Bereich leuchtend rot ist.

set_font#

set_font sets the font used for displaying text on the Brain screen. This font will apply to all text printed with print or print_at. The default font at the start of a project is MONO20.

Usage:
brain.screen.set_font(fontname)

Parameter

Beschreibung

fontname

Legt die Schriftart auf eine der folgenden Optionen fest:

  • MONO12
  • MONO15
  • MONO20
  • MONO30
  • MONO40
  • MONO60
  • PROP20
  • PROP30
  • PROP40
  • PROP60
Diese Optionen werden unten angezeigt.

Screenshot des VEX IQ Brain-Bildschirms mit einer Reihe von Zahlen und Buchstaben in Mono 12-Schriftart. Die Buchstaben AZ befinden sich in einer Zeile, die sich über die gesamte Bildschirmbreite erstreckt. Die untere linke Ecke zeigt 26 Zeichen in der Breite und 9 Zeilen an.
MONO12

Derselbe Screenshot wie der vorherige, jetzt mit der Schriftart Mono 15. Die Buchstaben AT befinden sich in einer Zeile und erstrecken sich über die gesamte Bildschirmbreite. Die untere linke Ecke zeigt 20 Zeichen in der Breite und 7 Zeilen an.
MONO15

Derselbe Screenshot wie der vorherige, jetzt mit der Schriftart Mono 20. Die Buchstaben AP befinden sich in einer Zeile und erstrecken sich über die gesamte Bildschirmbreite. Die untere linke Ecke zeigt 16 Zeichen in der Breite und 5 Zeilen an.
MONO20

Derselbe Screenshot wie der vorherige, jetzt mit der Schriftart Mono 30. Die Zahlen 1 bis 9 und eine zusätzliche 0 befinden sich in einer Zeile, die sich über die gesamte Bildschirmbreite erstreckt. Die untere linke Ecke markiert 3 Zeilen.
MONO30

Derselbe Screenshot wie der vorherige, jetzt mit der Schriftart Mono 40. Die Zahlen 1 bis 8 befinden sich in der zweiten Zeile und erstrecken sich über die gesamte Bildschirmbreite.
MONO40

Derselbe Screenshot wie der vorherige, jetzt mit der Schriftart Mono 60. Der Bildschirm zeigt MN 60 in großer Schrift, die fast die gesamte obere Hälfte des Bildschirms einnimmt.
MONO60

Derselbe Screenshot wie der vorherige, jetzt mit der Schriftart Prop 20. Die Buchstaben AW befinden sich in einer Zeile und erstrecken sich über die gesamte Bildschirmbreite. Die untere linke Ecke zeigt 26 Zeichen in der Breite und 5 Zeilen an.
PROP20

Derselbe Screenshot wie der vorherige, jetzt mit Prop-30-Schriftart. Die Zahlen 1–9 werden zweimal in einer Zeile wiederholt und erstrecken sich über die gesamte Bildschirmbreite. Die untere linke Ecke zeigt 18 Zeichen in der Breite und 3 Zeilen an.
PROP30

Derselbe Screenshot wie der vorherige, jetzt mit Prop-40-Schriftart. In der obersten Zeile steht „Prop 40“, in der zweiten werden 14 Zeichen und 2 Zeilen angezeigt.
PROP40

Derselbe Screenshot wie der vorherige, jetzt mit der Schriftart Prop 60. Auf dem Bildschirm ist „PROP 60“ in großer Schrift zu sehen, die fast die gesamte obere Hälfte des Bildschirms einnimmt.
PROP60

# Display two different fonts on 
# two separate lines
brain.screen.set_font(FontType.MONO20)
brain.screen.print("Mono Medium")
brain.screen.next_row()
brain.screen.set_font(FontType.PROP20)
brain.screen.print("Prop Medium")

Ein Screenshot des IQ Brain-Bildschirms mit weißem Text in zwei Zeilen in der oberen linken Ecke. Die erste Zeile lautet „Mono Medium“, die zweite Zeile direkt darunter in kleinerer Schrift „Prop Medium“.

set_pen_width#

set_pen_width legt die Dicke der gezeichneten Linien und Formkonturen fest.

Usage:
brain.screen.set_pen_width(width)

Parameter

Beschreibung

width

Die Stiftbreite in Pixeln, von 0 bis 32.

# Draw two circles with
# different pen widths
brain.screen.draw_circle(40, 70, 20)
brain.screen.set_pen_width(5)
brain.screen.draw_circle(100, 70, 20)

Ein Screenshot des IQ Brain-Bildschirms mit zwei weißen Kreisen in der unteren Bildschirmhälfte. Der linke Kreis hat einen schmaleren Rand als der rechte.

set_pen_color#

set_pen_color legt die Farbe von Text, Pixeln, Linien und Formkonturen fest.

Usage:
brain.screen.set_pen_color(color)

Parameter

Beschreibung

color

Optional. Die zu verwendende Stift- und Schriftfarbe. Optionen:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
Sie können auch eine benutzerdefinierte Farbe angeben.

# Draw two rectangles with
# different colors
brain.screen.draw_rectangle(100, 50, 10, 20)
brain.screen.set_pen_color(Color.BLUE)
brain.screen.draw_rectangle(50, 50, 10, 20)

Ein Screenshot des IQ Brain-Bildschirms mit zwei kleinen Rechtecken in der unteren Bildschirmhälfte. Das linke Rechteck ist blau, das rechte weiß.

set_fill_color#

set_fill_color legt die Füllfarbe fest, die beim Zeichnen von Formen verwendet wird.

Usage:
brain.screen.set_fill_color(color)

Parameter

Beschreibung

color

Optional. The fill color to use. Options include:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
You can also specify a custom color.

# Draw a yellow circle
brain.screen.set_fill_color(Color.YELLOW)
brain.screen.draw_circle(50, 50, 20)

Ein Screenshot des IQ Brain-Bildschirms mit einem hellgelben Kreis mit dünnem weißen Rand auf der linken Bildschirmhälfte.

set_origin#

Mit dem Befehl set_origin wird der Ursprung für das Zeichnen und koordinatenbasierte Drucken auf dem Brain-Bildschirm festgelegt. Standardmäßig befindet sich der Ursprung in der oberen linken Ecke des Bildschirms.

Usage:
brain.screen.set_origin(x, y)

Parameter

Beschreibung

x

Die neue x-Koordinate, die als Ursprung festgelegt werden soll, wird als ganze Zahl von 0 bis 159 angegeben.

y

Die neue y-Koordinate, die als Ursprung festgelegt werden soll, wird als ganze Zahl von 0 bis 107 angegeben.

# Draw a line with the origin set to (50, 50)
brain.screen.set_origin(50, 50)
brain.screen.draw_line(1, 1, 159, 107)

Ein Screenshot eines IQ Brain-Bildschirms mit einer weißen Linie, die etwas links von der Mitte beginnt und diagonal nach unten rechts in Richtung der unteren rechten Ecke des Bildschirms verläuft.

Ziehen#

draw_pixel#

draw_pixel zeichnet ein Pixel an der ausgewählten x- und y-Koordinate unter Verwendung der aktuellen Stiftfarbe.

Usage:
brain.screen.draw_pixel(x, y)

Parameter

Beschreibung

x

Die x-Koordinate, an der das Pixel gezeichnet werden soll, angegeben als ganze Zahl von 0 bis 159.

y

Die y-Koordinate, an der das Pixel gezeichnet werden soll, angegeben als ganze Zahl von 0 bis 107.

# Draw one pixel at the center
# of the screen
brain.screen.draw_pixel(80, 50)

Ein Screenshot des IQ Brain-Bildschirms mit einem winzigen weißen Punkt in der Mitte des Bildschirms.

draw_line#

draw_line zeichnet eine Linie von der ersten Bildschirmkoordinate (x1, y1) zur zweiten Bildschirmkoordinate (x2, y2) unter Verwendung der aktuellen Stiftbreite und Stiftfarbe.

Die x- und y-Koordinaten verwenden den Standardursprung (0, 0), es sei denn, ein anderer Ursprung wurde mit set_origin festgelegt.

Usage:
brain.screen.draw_line(x1, y1, x2, y2)

Parameter

Beschreibung

x1

Die Start-x-Koordinate der Geraden, angegeben als ganze Zahl von 0 bis 159.

y1

Die Start-y-Koordinate der Geraden, angegeben als ganze Zahl von 0 bis 107.

x2

Die End-x-Koordinate der Geraden, angegeben als ganze Zahl von 0 bis 159.

y2

Die y-Endkoordinate der Geraden, angegeben als ganze Zahl von 0 bis 107.

# Draw a line from the top left to
# bottom right of the screen
brain.screen.draw_line(0, 0, 159, 107)

Ein Screenshot des IQ Brain-Bildschirms mit einer weißen diagonalen Linie, die von der oberen linken Ecke zur unteren rechten Ecke verläuft.

draw_rectangle#

draw_rectangle draws a rectangle with its top-left corner at the selected (x, y) coordinate and a size determined by the given width and height, all measured in pixels. The rectangle’s outline is drawn using the current pen width and pen color. The interior is filled with the current fill color, unless the optional color parameter is used.

Die x- und y-Koordinaten verwenden den Standardursprung (0,0), es sei denn, ein anderer Ursprung wurde mit set_origin festgelegt.

Usage:
brain.screen.draw_rectangle(x, y, width, height, color)

Parameter

Beschreibung

x

Die x-Koordinate der oberen linken Ecke des Rechtecks, angegeben als ganze Zahl von 0 bis 159.

y

Die y-Koordinate der oberen linken Ecke des Rechtecks, angegeben als ganze Zahl von 0 bis 107.

width

Die Breite des Rechtecks ​​in Pixeln.

height

Die Höhe des Rechtecks ​​in Pixeln.

color

Optional. The fill color of the rectangle. Options include:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
You can also specify a custom color.

# Draw a red rectangle on the screen
brain.screen.draw_rectangle(25, 25, 100, 50, Color.RED)

Ein Screenshot des IQ Brain-Bildschirms mit einem großen roten Rechteck mit dünnem weißen Rand, das nahezu mittig auf dem Bildschirm gezeichnet ist.

draw_circle#

draw_circle zeichnet einen Kreis mit dem Mittelpunkt an den ausgewählten (x, y) Koordinaten und einem durch den angegebenen Radius bestimmten Durchmesser, alles in Pixeln. Die Kontur des Kreises wird mit der aktuellen Stiftbreite und Stiftfarbe gezeichnet. Die Füllung erfolgt mit der aktuellen Füllfarbe, sofern der optionale Parameter color nicht verwendet wird.

Die x- und y-Koordinaten verwenden den Standardursprung (0,0), es sei denn, ein anderer Ursprung wurde mit set_origin festgelegt.

Usage:
brain.screen.draw_circle(x, y, radius, color)

Parameter

Beschreibung

x

Die x-Koordinate des Mittelpunkts des Kreises, angegeben als ganze Zahl von 0 bis 159.

y

Die y-Koordinate des Mittelpunkts des Kreises, angegeben als ganze Zahl von 0 bis 107.

radius

Der Radius des Kreises in Pixeln.

color

Optional. The fill color of the circle. Options include:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
You can also specify a custom color.

# Draw a green circle on the screen
brain.screen.draw_circle(80, 50, 20, Color.GREEN)

Ein Screenshot des IQ Brain-Bildschirms mit einem ausgefüllten grünen Kreis mit dünnem weißen Rand in der Mitte des Bildschirms.

set_clip_region#

set_clip_region wird ein rechteckiger Bereich auf dem Bildschirm definiert, in dem alle Zeichnungen und Texte angezeigt werden. Inhalte außerhalb dieses Bereichs werden nicht dargestellt.

Usage:
brain.screen.set_clip_region(x, y, width, height)

Parameter

Beschreibung

x

Die x-Koordinate der oberen linken Ecke des Clip-Bereichs, angegeben als ganze Zahl oder Gleitkommazahl von 0 bis 159.

y

Die y-Koordinate der oberen linken Ecke des Clip-Bereichs, angegeben als ganze Zahl oder Gleitkommazahl von 0 bis 107.

width

Die Breite des Clipping-Bereichs in Pixeln.

height

Die Höhe des Clip-Bereichs in Pixeln.

# Restrict text and drawings to a specific region
brain.screen.set_clip_region(0, 0, 120, 120)
brain.screen.draw_rectangle(60, 60, 100, 100, Color.RED)
brain.screen.print_at("Cut off!", x=60, y=60)

Ein Screenshot des IQ Brain-Bildschirms mit weißem Text in der Nähe der Bildschirmmitte, der "Cut of" lautet, und einem direkt darunter befindlichen roten Quadrat, das anzeigt, was im Clip-Bereich gedruckt wird.

render#

Die Option render aktiviert die doppelte Pufferung für den Bildschirm des Brains. Nach dem Aufruf werden Zeichenbefehle (wie Text, Formen oder Bilder) für den Rest des Projekts nicht mehr sofort angezeigt. Aktualisierungen werden erst sichtbar, wenn render erneut verwendet wird. Dies ermöglicht flüssigere und kontrolliertere Bildschirmaktualisierungen, bedeutet aber, dass bis zur Verwendung von render nichts sichtbar ist.

Usage:
brain.screen.render()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

# Render text after moving
brain.screen.render()
brain.screen.print("Render later...")
drivetrain.drive_for(FORWARD, 100, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
brain.screen.render()